Python中while函数里的事儿

在下面的代码里,为什么输出结果中不含 “5” ?


i = 0
while 1==1:
    print(i)
    i = i + 1
    if i >= 5:
        print("Breaking")
        break

print("Finished")
#There have no "5" in output.Why?

输出结果是:

0
1
2
3
4
Breaking
Finished

改成这样看看:

i = 0
while 1==1:
    #print(i)
    i = i + 1
    #加上下面这行代码
    print(i)
    if i >= 5:
        print("Breaking")
        break
 
print("Finished")
#There have no "5" in output.Why?

你的print打印是在i递增1之前,实际上i是可以到5的,但是你打印的是i递增前的值,所以只能打印出4,实际上这次循环i到了5。

i=5的时候已经break退出循环执行不到下一次的print(i),所以打印中看不到5

i等于5的时候 直接break了,不会再进while循环了,也就是不会执行print打印了。