Python 3.x 打印循环的总使用次数

Python 3.x 打印循环的总使用次数,python-3.x,for-loop,Python 3.x,For Loop,我试图得到1,2,3,4的总数,我可以通过代码1而不是代码2来实现。有人能指出为什么代码2返回4而不是10吗 代码1: total = 0 for i in range(1,5): total = total + i print(total) 10 代码2: total = 0 for i in range(1,5): newtotal = total + i print(newtotal) 4 这是因为在code2中,总计并没有更新,它总是为零,因为您将其初始化为0,所

我试图得到1,2,3,4的总数,我可以通过代码1而不是代码2来实现。有人能指出为什么代码2返回4而不是10吗

代码1:

total = 0
for i in range(1,5):
    total = total + i

print(total)
10
代码2:

total = 0
for i in range(1,5):
    newtotal = total + i

print(newtotal)
4

这是因为在code2中,总计并没有更新,它总是为零,因为您将其初始化为0,所以每次在for循环中,我都会像这样更新

newtotal = 0+1 = 1
next time
newtotal = 0+2 = 2
nex time
newtotal = 0+3 = 3
nex time
newtotal = 0+4 = 4
但是在代码1中,您每次都用语句更新total的值

总计=总计+i


因此答案是10,因为在代码2中,每次迭代的总数是0

total = 0
newtotal = 0
for i in range(1,5):
    total = newtotal
    newtotal = total + i

print(newtotal)

现在我们正在更新total的值

在代码2的最后一次迭代中,您认为total的值是多少?
total = 0
newtotal = 0
for i in range(1,5):
    total = newtotal
    newtotal = total + i

print(newtotal)