这里有什么问题

来源:4-7 Python之continue继续循环

慕设计3183091

2021-10-19 11:12

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


写回答 关注

3回答

  • 明天就暴富
    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)


    Snowdr...

    这么写最后会多了一次判断吧,num = 999时,进入循环后加1,满足偶数标准,求和就多计算了一次。

    2021-10-28 17:46:52

    共 1 条回复 >

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154175 学习 · 1075 问题

查看课程

相似问题