所以我正在做一个小型的文本游戏,我想要做的事情之一是从一系列变量中获得一个随机数。Python3 randrange给出相同的结果
出于测试目的,我已经写了代码看起来是这样的:
slow_speed = random.randrange(10,25)
medium_speed = random.randrange(26, 50)
fast_speed = random.randrange(51, 75)
penalty_list = [slow_speed, medium_speed, fast_speed]
for i in range(3):
for penalty in penalty_list:
print(penalty)
的想法是,它会在每次循环在列表3次,并给每个范围不同的随机数。
但是,会发生什么是我得到相同的3个数字循环3次。我想这是因为当我调用该函数时种子(在我的计算机上的时间)是相同的,所以我试图添加time.sleep()和random.seed(),但这没有帮助。
那么我该如何解决这个问题? 谢谢!
什么是'slow_penalty','medium_penalty'和'fast_penalty'?他们似乎不是随机产生的 – gtlambert
谢谢你,我改变了这个问题。罚款也rand.range功能,这只是我粗心挑选错误的问题。 – Shadylamp
'random.randrange()'返回* integer *,而不是每次打印时都会改变值的对象。产生更多整数(每次再次调用'random.randrange()')如果你需要新的值。 –