Discuss / Python / 死循环

死循环

Topic source

南街

#1 Created at ... [Delete] [Delete and Lock User]

想请教大家,我这个代码为啥会陷入死循环,将 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')

¤

#2 Created at ... [Delete] [Delete and Lock User]

因为第一次循环过后n=1,进入第二次循环后会进入if块并跳到第三次循环,此后每次都会被if拦下来跳到下一次循环,n的值始终为1。而正常代码在if之前就会更新n的值,不存在上述问题。

南街

#3 Created at ... [Delete] [Delete and Lock User]

懂了,感谢!

第一次循环输出0,第二次n=1符合continue条件直接提前结束循环,代码结束

所以第一个并不是死循环代码

zeal_z

#6 Created at ... [Delete] [Delete and Lock User]

第一份代码 遇到奇数就结束本次循环进入下次循环 第一个数是0可以执行下面的语句但是+1后就成了1 ,此后一直都是结束循环,不会执行下面的语句


  • 1

Reply