Python3 randrange给出相同的结果
发布时间:2020-12-20 12:09:59 所属栏目:Python 来源:网络整理
导读:所以我正在制作一个小型文本游戏,我想要做的一件事就是从一系列变量中获取一个随机数. 出于测试目的,我编写了一个代码如下: slow_speed = random.randrange(10,25)medium_speed = random.randrange(26,50)fast_speed = random.randrange(51,75)penalty_list
所以我正在制作一个小型文本游戏,我想要做的一件事就是从一系列变量中获取一个随机数.
出于测试目的,我编写了一个代码如下: 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,fast_speed] for penalty in penalty_list: print(penalty) 样本输出 13 31 63 17 26 61 16 46 67 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |