Listing words randomly without repeating them
我刚刚从《绝对初学者的python编程》一书中学习了如何在python中列出列表,遇到了一个挑战,要求随机列出单词而不重复它们。我一直在努力,因为这本书没有给你答案。到目前为止,这是我的代码:
1 2 3 4 5 6 7 | 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) |
很明显,代码并没有像列表中的单词那样工作。
可以使用列表而不是元组随机播放。
1 2 3 4 5 | import random lst = ['WHO','YOU','THINK','ARE'] random.shuffle(lst) for x in lst: print x |
请参见此处的Q/A。将元组转换为列表:q/a
如果您坚持要有一个元组,那么整个代码是:
1 2 3 4 5 6 | import random tuple = ('WHO','YOU','THINK','ARE') lst = list(tuple) random.shuffle(lst) for x in lst: print x |
号
将打印的单词添加到不同的数组(例如"EDOCX1"(0)),并在每次打印另一个单词之前循环该数组。那不是表演,只是一个小单子…所以它应该工作得很好(没有代码示例,应该在初学者范围内进行)