首页 > 解决方案 > 为什么这个函数不能返回正确的结果?

问题描述

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

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 ])

标签: pythonfunctionnumpyrandom

解决方案


这个问题来自随机生成器的种子种子有助于检索确定性的随机序列。由于您的种子设置为 0 :

np.random.seed(0)

每次随机生成仍然是相同的(因为使用了相同的种子)


推荐阅读