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

这里有什么问题

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


正在回答

3 回答

你这个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完全结束的时候执行,只输出最后总和







0 回复 有任何疑惑可以回复我~
num = num +1 不应该写在if判断下,不然num=1之后,满足条件,跳出当前循环,num就无法再累加了
下载视频          
0 回复 有任何疑惑可以回复我~
sum=0
num=0
while num<1000:
    num=num+1
    if num%2==1:
        continue
    sum=sum+num
print(sum)


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

Snowdropmk

这么写最后会多了一次判断吧,num = 999时,进入循环后加1,满足偶数标准,求和就多计算了一次。
2021-10-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这里有什么问题

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