以下のコードで、インデックス要素 [0] の値 22 が合計に加算されるのはなぜですか? i
常にこのコードではありません< 5
かi = i -1
?
numbers = [22, 34, 12, 32, 4]
sum = 0
i = len(numbers)
while (i != 0):
i -= 1
sum = sum + numbers[i]
print "The sum is: ", sum
以下のコードで、インデックス要素 [0] の値 22 が合計に加算されるのはなぜですか? i
常にこのコードではありません< 5
かi = i -1
?
numbers = [22, 34, 12, 32, 4]
sum = 0
i = len(numbers)
while (i != 0):
i -= 1
sum = sum + numbers[i]
print "The sum is: ", sum
コードを(動作を変更せずに)次のように再配置できます。
while (i != 0):
sum = sum + numbers[i-1]
i -= 1
numbers[0]
これは、合計に追加されていることを明確にします。
ただし、変数名として使用しないでください。これはsum
、(便利な)組み込み関数を上書きするためです。たとえば、次のようにコードをより簡潔に記述できます。
sum(numbers[1:]) #sum of everything in list except 1st element
i = 5
while (i != 0) --> i=5
i-=1 --> i=4
sum = sum+numbers[4]
while (i != 0) --> i=4
i-=1 --> i=3
sum = sum+numbers[3]
while (i != 0) --> i=3
i-=1 --> i=2
sum = sum+numbers[2]
while (i != 0) --> i=2
i-=1 --> i=1
sum = sum+numbers[1]
while (i != 0) --> i=1
i-=1 --> i=0
sum = sum+numbers[0]
while (i != 0) --> i=0 so it'll stop.
ご覧のとおり、numbers[0] が追加されます。