0
我需要一个名为average(a)的函数,其中a是一个列表,并且它使用递归返回元素的平均值。我用一个名为sum的辅助函数(它递归地解决了列表中所有元素的总和)来解决它,但我想在平均函数内解决它。
这是我曾尝试:使用Python中的递归计算列表的平均值
def average(a):
if len(a)==1:
return a[0]
else:
return (a[0]+average(a[1:]))/len(a)
print(average([1,2,3]))
应该在这种情况下返回2.0。 这里的问题是,当我在回报中调用函数时,我再次分割为len(a)
。那是不对的。
很高兴想要的东西,但这不是一个免费的编码服务。进行合法的尝试并在遇到无法通过调试和Google搜索解决的特定问题时回来。 –
DEF promedio的(a): 如果len的(a)== 1: 返回[0] 否则: 回报(A [0] + promedio(A [1:]))/ LEN(一) 打印(promedio([1,2,3])) 这是我的尝试,我知道问题是我没有划分最终结果,即时划分内部,但不知道如何解决它。 对不起,即时通讯新的,不知道如何格式化我的代码! –
编辑您的问题以包含所有相关信息并提名重新开放。 –