随机列出单词而不重复它们

时间:2015-09-03 06:09:50

标签: python list

我刚刚从本书“绝对初学者的Python编程”中学习了如何在python中学习列表,并遇到了一个挑战,要求随机列出单词而不重复它们。我一直试图这样做,因为这本书没有给你答案。到目前为止,这是我的代码:

WORDS = ("YOU","ARE","WHO","THINK")
for word in WORDS:
    newword=random.choice(WORDS)
    while newword==word is False:
          newword=random.choice(WORDS)
          word=newword
          print(word)

看起来很明显,代码没有像列表中的单词重复一样。

2 个答案:

答案 0 :(得分:2)

您可以将shuffle与列表而不是元组一起使用。

import random
lst = ['WHO','YOU','THINK','ARE']
random.shuffle(lst)
for x in lst:
   print x

此处也请参阅this Q/A。 要将元组转换为列表:Q/A

如果您坚持使用元组,那么整个代码:

import random
tuple = ('WHO','YOU','THINK','ARE')
lst = list(tuple)
random.shuffle(lst)
for x in lst:
   print x

答案 1 :(得分:0)

将打印的单词添加到其他数组(例如“usedwords”),并在每次打印另一个单词之前循环遍历该数组。
这不是性能,但它是一个小清单......所以它应该工作得很好 (没有代码示例,它应该在初学者范围内做到这一点)