gpt4 book ai didi

Python3 randrange 给出相同的结果

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:52 25 4
gpt4 key购买 nike

所以我正在制作一个小型文本游戏,我想做的一件事是从一系列变量中获取一个随机数。

出于测试目的,我编写了如下代码:

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() 但这没有帮助。

那么我该如何解决这个问题呢?谢谢!

最佳答案

您需要将变量声明放在for 循环中。这样,每次迭代都会生成随机数。以下可能是您正在寻找的内容:

import random

for i in range(3):
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 penalty in penalty_list:
print(penalty)

示例输出

13
31
63
17
26
61
16
46
67

关于Python3 randrange 给出相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34943178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com