为了账号安全,请及时绑定邮箱和手机立即绑定

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

num = 0

sum = 0

while num <= 1000:

    if num % 2 == 1:

        continue

    sum = sum + num

    num = num + 1

print(sum)

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

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

正在回答

4 回答

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

1 回复 有任何疑惑可以回复我~

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

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

1 回复 有任何疑惑可以回复我~

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

num=0

while num<=1000:

    if num%2==0:

        print num

    num+=1

                  

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信