【发布时间】:2021-12-29 00:41:20
【问题描述】:
我正在尝试创建一个循环,该循环接受一个输入值,并创建许多介于 0 和 10 之间的随机数,然后将这些值通过公式放入循环中并将这些值保存到一个数组中。以下是我所做的:
def f(x):
x**2
def Sample(npts):
sample = []
randomlist = random.sample(range(0.0, 10.0), npts)
for i in range(randomlist):
y = f(randomlist)
sample.append(y)
print(sample)
现在我收到一条错误消息,指出超出了样本范围。当我设置 npts = 100 时会发生这种情况,有人可以解释我哪里出错了吗?另外,我担心我以后可能调用了错误的值。所以解释一下,我试图在 0 和 10 之间获得 100 个随机值(在这种情况下为 npts),这些值是通过 f(x) 的 x 值,(在这种情况下,这些值乘以 2 ),然后每次将这些新计算的值保存到数组样本中,然后在最后打印。
希望这使我想要做的事情变得清晰,所以请告诉我如何修复错误!
【问题讨论】:
-
即使你的随机数生成工作正常,你的函数
f()也不会返回任何东西,所以sample只是一个Nones 的列表。 -
range(0.0, 10.0)出现错误。你的代码真的是什么样子的?
标签: python arrays function loops math