2011-11-13 15 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)で得ることができます。

第2に、あなたの中身は実際にリストの値を使用していません:(list[counter] +total)は何にも割り当てられていないので何もしません。

最後に、total = total + counterは値を追加せず、代わりに各値の位置を追加します。したがって、この例では0 + 1 + 2です。最初に言及したlengthの問題を修正すると、9の正しい値ではなく、3になります。

更新

最後に(再び)、あなたもあなたのmy_list = [3,3,3]と機能をテストしていない、あなたは上記で定義された機能についての言及はありません。代わりに、リストを作成するだけです。