这里有什么问题
sum=0 num=0 while num<1000: if num%2==1: num=num+1 continue sum=sum+num print(sum)
sum=0 num=0 while num<1000: if num%2==1: num=num+1 continue sum=sum+num print(sum)
2021-10-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完全结束的时候执行,只输出最后总和
举报