如何生成10000个30-40范围内的随机浮点数?解决random模块超范围问题
生成10000个30-40区间随机浮点数的正确实现
你的代码random.randrange(30.000000,40.000000,10000)存在两个核心问题:
randrange()仅支持整数参数,传入浮点数会直接触发TypeError,属于语法层面错误。- 步长设置为10000,远大于30到40的区间长度(仅10),逻辑上不可能生成任何有效数值,更无法得到10000个结果。
要生成指定范围的随机浮点数,Python的random模块提供了专门的uniform()函数,它能直接生成[a, b)区间内的随机浮点数,完全不会超出你设定的范围。生成10000个的实现如下:
import random # 生成10000个30到40之间的随机浮点数 random_numbers = [random.uniform(30, 40) for _ in range(10000)]
如果需要和你示例里一样保留6位小数,只需要加上round()处理:
random_numbers = [round(random.uniform(30, 40), 6) for _ in range(10000)]
关于你担心的数值超出范围问题:random.uniform(a, b)在a < b的情况下,生成的数值必然落在[a, b)区间内,完全符合你的需求,无需额外验证范围。
内容的提问来源于stack exchange,提问作者Gaurav Dhir
相关产品推荐
相关产品推荐

