编写一个函数average
,它接受一个包含整数元素作为参数的tuple
,并返回参数中元素的平均值。
for example, average((1, 2, 3)) = 2
for example, average((-3, 2, 8, -1)) = 1.5
我的回答:
def average(values):
if values == (1,2,3):
return (1+2+3)/3
elif values == (-3,2,8,-1):
return (-3+2+8-1)/4
为什么错?怎么做? 感谢!!!
答案 0 :(得分:2)
您的功能仅适用于这两个特定输入。目标是编写一个函数,返回所有有效输入的正确平均值。
def average(values):
return sum(values)/len(values)
对于Python 2,您必须在sum(values)
的调用中包裹len(values)
(或float
,其中任何一部分是好的)。
从Python 3.4开始,您可以使用函数mean from the statistics module。
import statistics
def average(values):
return statistics.mean(values)
或更短,因为您的功能只是统计信息的另一个名称
average = statistics.mean
答案 1 :(得分:0)
尝试:
In [1]: def average(values):
...: return float(sum(values))/len(values)
...:
In [2]: print average((-3,2,8,-1))
1.5
将float
添加到sum
函数以用于Python 2。