i=0
>>> while i<3:
... print i
... i += 1
... else:
... print ‘Done with i =’, i
...
0
1
2
Done with i = 3
大家好,我想知道为什么在i = 3时完成while循环,而不是在i = 2时。当i = 2时,i = i + 1 = 2 + 1 = 3,表达式变为False,然后执行结束。不是吗?
答案 0 :(得分:3)
else
块中的while ... else
始终执行。因此,您的while
循环以i == 2
结尾,但随后以i += 1
递增,i == 3
。然后,您的while
循环退出,并执行else
阻止。
答案 1 :(得分:0)
else
块将始终执行。这和简单地写print "Done with i =", i
一样。正如BlivetWidget所说,你正在向i
添加1,然后执行else块。相反,您可以使用print "Done with i = ", i-1
。