Python中如何动态调整random.randrange的取值区间,解决修改不生效问题
问题原因
- 加法运算的结果没有回写给变量:
a1 + da、a1 + da2只是做了临时计算,没有把结果赋值给da和da2,两个参数始终保持初始的0和10,区间没有实际更新 - 随机数生成时机错误:
e1 = random.randrange(da,da2)是在获取用户输入之前执行的,程序启动时就已经算出了e1的值,后续就算修改了区间参数也不会重新生成随机数
修正代码
调整执行顺序,先更新区间参数,再生成随机数:
import random da = 0 da2 = 10 a1 = int(input("how much would you like to increase strength?")) # 回写计算结果更新区间 da = da + a1 da2 = da2 + a1 # 区间更新完成后再生成随机数 e1 = random.randrange(da, da2) print(e1)
按以上代码运行时,输入20就会得到20~29区间的整数,符合调整区间的需求。
内容的提问来源于stack exchange,提问作者Tal0
相关产品推荐
相关产品推荐

