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

这里有什么问题

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


提问者:慕设计3183091 2021-10-19 11:12

个回答

  • 明天就暴富
    2021-11-17 22:47:19

    你这个num的累加,只有在if条件满足的时候才会进行,如果if条件不满足,就没有累加的操作,比如一开始num=0,if语句不满足条件,就直接执行sum=sum+num,输出sum=0,回到while判断,此时num没有增加,仍然是0,就变成死循环了。实际上不管if条件是否成立,num都需要增加,所以在sum=sum+num后边,还需要有num=num+1。

    这是我的做法 ,else加不加都可以,不过我觉得加上了更直观地知道if条件不满足是执行sum语句

    sum = 0
    num = 1
    while num <= 1000:
        if num % 2 == 1:
            num += 1    #当余数=1的时候,num加1,并且因为continue结束这个循环,进行下一次while判断
            continue
        else:           #加else,sum语句缩进,不加则不用缩进,结果相同
            sum += num  #如果if余数不等于1,进行求和,求和后num+1,进行下一次while判断
        num += 1
        print(sum)      #print缩进,每次while循环都会执行到,每次累加都会输出;
    print(sum)          #不缩进,则while完全结束的时候执行,只输出最后总和







  • x小黑
    2021-11-10 15:49:36

    num = num +1 不应该写在if判断下,不然num=1之后,满足条件,跳出当前循环,num就无法再累加了

    下载视频          

  • 慕前端60812761
    2021-10-19 14:15:35

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