如何解决如何使用 for 循环和两个列表并定义函数来找到方差?
我需要编写一个名为 var_fun 的函数,该函数返回列表的方差并使用 2 个列表进行测试。我实际上必须返回每个元素的标准偏差。 list_1 = [8,8,3,5,1,4,6,10,9] list_2 = [8,12,9]
这是我执行的代码,但它返回
def var_fun(x):
for i in x:
var = ((i - mean_fun(x))**2)
return var_fun
print(var_fun(list_1))
print(var_fun(list_2))
这是我的mean_fun:
def mean_fun(values) :
length = len(values)
total_sum = 0
for i in range(length):
total_sum += values[i]
average = (total_sum/length)
return round(average,2)
print(mean_fun(list_1))
print(mean_fun(list_2))
输出应如下所示: [25.0,9.0,4.0,1.0,0.0,16.0] [28.41,11.09,5.43,1.77,2.79,7.13,13.47,32.15]
解决方法
在函数 var_fun()
中,返回 var
而不是 var_fun
。那应该可以解决问题。
您收到错误是因为您试图返回函数本身。
此外,这些行没有任何意义。您可以删除它们:
mean_fun = list_1
mean_fun = list_2
更好的选择:
https://numpy.org/doc/stable/reference/generated/numpy.var.html https://numpy.org/doc/stable/reference/generated/numpy.mean.html
看看上面的 numpy 函数,它们直接计算均值和方差。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。