想请教大家,我这个代码为啥会陷入死循环,将 n = n+1换到while下面一行就正常了,代码如下:
死循环代码:
n = 0
while n < 100:
if n % 2 == 1:
continue
print(n)
n = n+1
print('end')
正常代码:
因为第一次循环过后n=1,进入第二次循环后会进入if块并跳到第三次循环,此后每次都会被if拦下来跳到下一次循环,n的值始终为1。而正常代码在if之前就会更新n的值,不存在上述问题。
懂了,感谢!
第一次循环输出0,第二次n=1符合continue条件直接提前结束循环,代码结束
所以第一个并不是死循环代码
第一份代码 遇到奇数就结束本次循环进入下次循环 第一个数是0可以执行下面的语句但是+1后就成了1 ,此后一直都是结束循环,不会执行下面的语句
Sign in to make a reply
南街
想请教大家,我这个代码为啥会陷入死循环,将 n = n+1换到while下面一行就正常了,代码如下:
死循环代码:
n = 0
while n < 100:
if n % 2 == 1:
continue
print(n)
n = n+1
print('end')
正常代码:
n = 0
while n < 100:
n = n+1
if n % 2 == 1:
continue
print(n)
print('end')