Python解释

时间:2014-12-04 23:46:03

标签: python foreach

有人可以解释一下这是如何运作的吗?输出等于10,但我想了解它是如何回答的。

count = 10
item = 0
for each in range(count):
    item += each
    count -= each
print(item + count)

2 个答案:

答案 0 :(得分:3)

最后,您从添加到项目的计数中减去了相同的金额。 (+45) + (-45) = 0。您可以使用print语句

查看它的实际效果
count = 10
item = 0
for each in range(count):
    item += each
    count -= each
    print('interim:', 'item', item, 'count', count, 'sum', item+count)
print(item + count)

结果

interim: item 0 count 10 sum 10
interim: item 1 count 9 sum 10
interim: item 3 count 7 sum 10
interim: item 6 count 4 sum 10
interim: item 10 count 0 sum 10
interim: item 15 count -5 sum 10
interim: item 21 count -11 sum 10
interim: item 28 count -18 sum 10
interim: item 36 count -26 sum 10
interim: item 45 count -35 sum 10
10

答案 1 :(得分:1)

你的循环遍历1-10之间的每个数字。 它返回each中当前的数字(这是一个错误的变量名称) 然后对于每次迭代,它递增item(从0开始)并递减count(从10开始,也是你的循环知道如何计数到10)。

count + item总是等于10,因为:

10+0=10 9+1=10 8+2=10