2017-06-21 28 views
-3

私は2つの異なるコードブロックを持っていますPython宣言変数vs宣言していません

私はデータセット内のすべての変数を合計しようとしています。

2番目のコードブロックが機能しますが、最初のコードブロックは「間違った」答えを返します。これを推測しているのは、値を与える前に変数 'total'を使用しているからです。

私は、このような状況でPythonがどのような計算をしているのだろうと思いましたか? 「合計」とは何が割り当てられていますか?

おかげで、あなたが書いたコードの第一セクションで

コード#1

for num in df['Data']: 
     total = total + num 

コード#2

total = 0 
for num in df['Data']: 
      total = total + num 
+4

コード#1はあなたにエラーが発生します。 – hallaksec

+0

このような状況では、Pythonは「計算」を行いません。 'total'に既に値がある場合、それは使用される値です。 –

+1

Hallaksecは言うように、コード#1はコード#1が実際に*コード#2の後でないと機能しません。その場合、コードから(すでに更新された)値 '' 'total'''を使用します#2。これを避けるには、コード2で行ったように '' 'total''を0に戻す必要があります。 –

答えて

3

total = total + num 

total場合はdoesnのどのようにしてtotalnumに追加できますか?また、おそらくこれを行うためのクリーンな方法が+=を使用している

:合計が宣言されていないため

total = 0 
for num in df['Data']: 
    total += num 
+1

df ['Data']。sum()を書く方がクリーンかもしれません。 – HH1

関連する問題