2011-11-13 113 views
-7

爲什麼這個總和功能不起作用?它的目的是總結在列表Python,爲什麼這個總和功能不起作用

def sum_list (a_list): 
     length= len(a_list) 
     counter = 0 
     total= 0 

     while(counter < length): 

      (a_list[counter] +total)   
      total = total + counter 
     counter = counter + 1 
     return total  



#testing the functions 
my_list = [3,3,3] 
print sum_list(my_list) 
+7

你有沒有理由不使用內建'sum'函數? –

+0

你得到的錯誤信息是什麼?你認爲這個錯誤信息是什麼意思? –

+0

如果這段代碼的格式正確,這將有所幫助。如果你試圖按照這裏所寫的方式來執行這個python代碼,那麼由於已經完成的糟糕的選項卡工作,你將會遇到錯誤。 – Michael

回答

0

首先,length不被任何定義的變量項目,但你想在while條件來使用它。那會導致你可能看到的錯誤。您的列表長度可以通過len(list)獲得。

其次,你的身體實際上並未使用列表值:(list[counter] +total)沒有做任何事情,因爲它沒有分配給任何東西。

最後,total = total + counter未添加值,而是添加每個值的位置。因此,在此示例中:0 + 1 + 2,如果您修復了我首先提到的length問題,那麼最終的結果將是3,而不是9的正確值。

更新

最後(一次),你甚至不與你的my_list = [3,3,3]測試功能,有沒有你上面定義的函數的提。相反,你只是創建一個列表。