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

请问这个是哪里有问题呢?谢谢!

num = 0
sum = 0
while num <= 1000:
    if num % 2 == 1:
        continue
   sum = sum + num
    num = num + 1
print(sum)


提问者:慕前端1544327 2021-08-02 09:05

个回答

  • minzeOK
    2021-08-02 15:49:19
    已采纳

    你下次可以在每次循环都打印一下num和sum,那有你就可以自己发现bug了。现在的代码,可以想一下,第一次循环,开始num=0,跑完后sum=0,num=1。第二次开始num=1,然后num&2==1成立,执行continue跳过这次循环开始第三次循环,但第三次num还是等于1,判断还是成立,这就导致后面变成了死循环了,因为后面num一直都是1,那就永远小于1000。解决方法很简单,使用continue前,num也要+1就成

  • 幕布斯5282111
    2021-08-02 15:14:32

    continue 前要让num加一,否则你的num一直都是0,一直在执行if 和continue。(continue执行了是会跳过之后的语句不执行直接开始新的循环的)

  • 幕布斯5282111
    2021-08-02 15:14:16

    continue 前要让num加一,否则你的num一直都是0,一直在执行if 和continue。(continue执行了是会跳过之后的语句不执行直接开始新的循环的)

  • 幕布斯5282111
    2021-08-02 15:13:50

    continue 前要让num加一,否则你的num一直都是0,一直在执行if 和continue。(continue执行了是会跳过之后的语句不执行直接开始新的循环的)