我刚刚从本书“绝对初学者的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)
看起来很明显,代码没有像列表中的单词重复一样。
答案 0 :(得分:2)
您可以将shuffle与列表而不是元组一起使用。
import random
lst = ['WHO','YOU','THINK','ARE']
random.shuffle(lst)
for x in lst:
print x
如果您坚持使用元组,那么整个代码:
import random
tuple = ('WHO','YOU','THINK','ARE')
lst = list(tuple)
random.shuffle(lst)
for x in lst:
print x
答案 1 :(得分:0)
将打印的单词添加到其他数组(例如“usedwords
”),并在每次打印另一个单词之前循环遍历该数组。
这不是性能,但它是一个小清单......所以它应该工作得很好
(没有代码示例,它应该在初学者范围内做到这一点)