Python生成指定数量0-10随机数代入公式存储的代码错误排查
代码错误排查与修复
现有代码的问题点
- 自定义函数
f(x)没有返回值,仅计算了x**2但未执行return操作,调用后得到的结果都是None random.sample()的第一个参数使用了range(0.0, 10.0),Python原生range不支持浮点数作为起止参数;同时random.sample是无重复采样逻辑,0到10的整数仅有11个,采样100个自然会报范围超出错误,不符合生成0-10随机数的需求- 循环逻辑错误:
range()只能传入整数参数,不能传入列表randomlist;且循环内将整个列表传入f(),没有传入单个随机数元素
修复后代码
import random def f(x): return x ** 2 def Sample(npts): sample = [] # 生成npts个0到10之间的随机浮点数 randomlist = [random.uniform(0, 10) for _ in range(npts)] # 遍历每个随机数计算并存入数组 for x in randomlist: y = f(x) sample.append(y) print(sample) # 调用测试 Sample(100)
如果需要生成整数随机数,将random.uniform(0,10)替换为random.randint(0,10)即可。
内容的提问来源于stack exchange,提问作者Sean Ambrose
相关产品推荐
相关产品推荐

