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])) 這是我的嘗試,我知道問題是我沒有劃分最終結果,即時劃分內部,但不知道如何解決它。 對不起,即時通訊新的,不知道如何格式化我的代碼! –
編輯您的問題以包含所有相關信息並提名重新開放。 –