2014-12-04 56 views
-1

有人可以解释这是如何工作的?输出等于10,但我想了解它如何来解答。Python解释

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

回答

3

最后,你已经从计数为您添加到项目中扣除相同的金额。 (+45) + (-45) = 0。您可以使用打印语句看到它在行动

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 
+0

感谢。这是非常有用的看到。 – 2014-12-04 23:58:00

1

你循环遍历1-10之间的每一个数字。 它返回当前在each(这是一个很糟糕的变量名称) 当前在哪个数字然后对于每次迭代它递增item(从0开始)和递减count(从10开始,并且也是您的循环知道的方式数到10)。

数+项目将总是等于10,因为:

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

+0

谢谢。我现在看到它......只是不明白它是如何循环的 – 2014-12-04 23:59:44