Sha*_*amp 3 python random python-3.x
所以我正在制作一个小型文本游戏,我想要做的一件事就是从一系列变量中获取一个随机数.
出于测试目的,我编写了一个代码如下:
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)
Run Code Online (Sandbox Code Playgroud)
这个想法是它会循环遍历列表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)
Run Code Online (Sandbox Code Playgroud)
样本输出
13
31
63
17
26
61
16
46
67
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
659 次 |
最近记录: |