首页 > 这个python语句为什么不执行?

这个python语句为什么不执行?

a=1
while a:
    if a==2:
        continue
    print(a)
    a=a+1
    if a>5:
        a=False

只输出1,然后程序也不退出,不知道是怎么回事,不是应该输出1,3,4,5吗?


continue是忽略剩下的代码,从循环开始的地方继续运行


第一次跑 while 里的代码的时候 a 值为1,然后第一个 if 里的 continue 不执行,继而执行下面的 a = a + 1。接着下一个循环里一开始就符合了第一个 if a == 2 的条件,所以就一直 continue 了。因为从那个时候开始 a 的值始终为 2。下面的 a = a + 1 就一直没执行,只执行了第一次。

把 a = a + 1 上移到第一个 if 前就好了。建议写成 a += 1

ps: 能不能在操作符两端加个空格..格式看着好憋屈


因为在第一个 if 语句没对 a 变量进行任何操作就继续了,所以 a 变成 2 之后就一直是 2.

你应该把 a = a + 1 这句移到 while 下面。


在if里加a+=1

【热门文章】
【热门文章】