为什么此函数无法返回正确的结果?

时间:2019-07-26 12:36:24

标签: python function numpy random

结果与实际值不同。例如,在这种情况下,我的输出中只有第一次观察与实际结果相同。

import numpy as np
np.random.seed(0)

def emil(values):
    output = np.empty(len(values))
        for i in range(len(values)):
            output[i] = 1.0 / values[i]
            print(len(values))
        return output

values = np.random.randint(1, 10, size=6)
print(emil(values))


Out[1]: array([ 0.16666667, 1. , 0.25 , 0.25 , 0.125 ])

1 个答案:

答案 0 :(得分:0)

此问题来自您的随机生成器的seed 种子有助于检索确定性的随机变量。 当您的种子设置为0时:

Python: 3.7.3
Django: 2.1.5

每个随机生成将仍然相同(因为使用了相同的种子) 如果删除此行,代码将生成非种子随机数,并且将具有随机行为(这是您期望的)