Python说明

2024-04-19 21:19:13 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能解释一下这是怎么回事吗?输出等于10,但我想知道它是如何得到这个答案的

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

Tags: 答案inforcountrangeitemeachprint
2条回答

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

count+item始终等于10,因为:

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

最后,你从count中减去的金额与你添加到item中的金额相同(+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

相关问题 更多 >