加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读