雾岛风起时
2020-09-06 09:05
num = 0
sum = 0
while num <= 1000:
if num % 2 == 1:
continue
sum = sum + num
num = num + 1
print(sum)
为什么这句话一定要写在if语句上面呢。
写在这里不输出任何结果。请问哪里出了问题?
continue之后就再次回到了while,这个时候你的num是没有变化的,所以就一直在while这里成为无限循环
num=1的时候,会执行continue语句,进入下一次循环,后面的num=num+1是执行不到的。
然后就会变成num值始终为1,while无限循环的情况
另外你这个代码逻辑有问题。如果是输出1000以内的偶数,正确如下:
num=0
while num<=1000:
if num%2==0:
print num
num+=1
如果定义写过循环内部,每一次循环开始都会将这个变量定义成0,跳出循环的条件为变量num大于等于1000。那这是个无线循环。
Python3 入门教程(新版)
154161 学习 · 1075 问题
相似问题