到目前为止,这是我的代码:
import random
words = ['a', 'b', 'c']
def abc():
print(random.choice(words))
input('Press Enter to Continue')
abc()
abc()
如何在每次打印列表words
中的单词时都这样做,它会检查之前是否重复过?我希望答案是在没有模块的python中或使用random
模块。
答案 0 :(得分:1)
正如@John指出的那样,只需使用random.shuffle
。
random.shuffle(x[, random])
将序列x随机移动到位。该 可选参数random是一个返回随机的0参数函数 漂浮在[0.0,1.0);默认情况下,这是函数random()。
random.shuffle(words)
print(words)
#loop
for word in words:
print(word)
会给:
IN : words = ['a', 'b', 'c']
OUT : ['c', 'a', 'b'] #This is random
注1:使用shuffle
的优势在于,您不会有两次获得相同元素的风险。
注2:但请注意,因为使用shuffle会影响存储数据的原始变量。如果您想保留原始序列,我建议您将数据复制到另一个变量中并在shuffle
中使用。