【问题标题】:How can I pick a random word in from a list in a loop?如何从循环中的列表中选择一个随机单词?
【发布时间】:2020-05-21 07:31:05
【问题描述】:

您好,我是一个正在学习的 Python,我的问题是我的列表中有一些单词我想使用循环随机选择一个单词。每次我在下面运行这段代码时,它只返回随机的单个字母,如“y n d”

import random
import time

randomwords = ["my", "random", "words"]

for x in randomwords:
    time.sleep(1)
    print(random.choice(x))

我怎样才能使代码返回随机顺序的单词,例如 “单词”“我的”“随机”

【问题讨论】:

标签: python-3.x list loops for-loop random


【解决方案1】:

random.choice(x) 将从x 中选择,而xrandomwords 中的一个单词。

如果你想从randomwords中选择,那就去做吧:

for x in randomwords:
    time.sleep(1)
    print(random.choice(randomwords))

【讨论】:

  • 谢谢你这对我有用,我刚接触堆栈溢出,我的答案很快得到了答复,谢谢。
【解决方案2】:

您可以为此使用random.shuffle

import random
import time

randomwords = ["my", "random", "words"]

for choice in random.shuffle(randomwords):
    time.sleep(1)
    print(choice)

您的原始代码没有按您想要的方式工作的原因是x 将依次分配给每个列表元素。所以在第一个循环x = "my",然后你用random.choice(x)从那个字符串中打印一个随机字符,这将导致my

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 2018-03-20
    • 2018-01-25
    相关资源
    最近更新 更多