问答详情
源自:4-7 Python之continue继续循环

为什么num = num + 1不能写在这个位置

num = 0

sum = 0

while num <= 1000:

    if num % 2 == 1:

        continue

    sum = sum + num

    num = num + 1

print(sum)

为什么这句话一定要写在if语句上面呢。

写在这里不输出任何结果。请问哪里出了问题?

提问者:雾岛风起时 2020-09-06 09:05

个回答

  • 超级辣的辣子鸡
    2020-10-20 09:36:58

    continue之后就再次回到了while,这个时候你的num是没有变化的,所以就一直在while这里成为无限循环

  • 白小九
    2020-09-16 11:12:57

    num=1的时候,会执行continue语句,进入下一次循环,后面的num=num+1是执行不到的。

    然后就会变成num值始终为1,while无限循环的情况

  • weixin_慕斯3464934
    2020-09-06 13:15:57

    另外你这个代码逻辑有问题。如果是输出1000以内的偶数,正确如下:

    num=0

    while num<=1000:

        if num%2==0:

            print num

        num+=1

                      

  • weixin_慕斯3464934
    2020-09-06 13:03:19

    如果定义写过循环内部,每一次循环开始都会将这个变量定义成0,跳出循环的条件为变量num大于等于1000。那这是个无线循环。