如何检查使用随机模块打印的内容是否重复?

时间:2017-09-26 13:22:50

标签: python python-3.x random

到目前为止,这是我的代码:

import random

words = ['a', 'b', 'c']
def abc():
    print(random.choice(words))
    input('Press Enter to Continue')
    abc()
abc()

如何在每次打印列表words中的单词时都这样做,它会检查之前是否重复过?我希望答案是在没有模块的python中或使用random模块。

1 个答案:

答案 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中使用。