这就是问题,
def square(x):
return x * x
def mean(x, y):
return (x + y) / 2
def variance(x, y):
我需要提出一个代码,方差(1,5)给出4.
我正在考虑使用variance = e(x ^ 2) - [e(x)] ^ 2但我继续在python中得到消息,说缺少位置参数:y。
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
variance(1,5)
File "<pyshell#6>", line 2, in variance
return (mean(square (x,y)) - square(mean(x,y)))
TypeError: square() takes 1 positional argument but 2 were given
任何帮助将不胜感激。
答案 0 :(得分:0)
在return (mean(square (x,y)) - square(mean(x,y)))
中,您将两个参数(x
和y
)传递给square
,但如果您查看square
的定义:
def square(x):
return x * x
你可以看到它只需要一个参数,因此错误square() takes 1 positional argument but 2 were given
。请注意,一旦您解决了这个问题,您就会反过来遇到同样的错误:mean
有两个参数,但您只提供一个参数。
由于这看起来像家庭作业,我不会提供方差的代码,但希望这可以解决技术问题(你似乎已经知道要实现的正确公式)。