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

为什么我的答案是2550而不是2500

sum = 0
x = 0
while True:
    x = x + 1
    if x > 100:
        break
    if not x%2 == 0:
        continue
    sum = sum + x
print sum


正在回答

2 回答

因为你这个编写的意思是所有的100以内所有的偶数求和吧,

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

慕婉清0570149 提问者

我把我的代码改成了 if x%2==0,答案是正确的但是我还是有疑惑,我觉得我本来写的意思是 如果x除以2的余数不为0就继续啊,如果我不要not的话,意思是如果x除以2的余数为0,则继续。这样我所求的不都是偶数的和吗?我知道我自己肯定有错误,但是不太清楚自己的思维哪一步错了。谢谢了
2016-07-11 回复 有任何疑惑可以回复我~

continue是指如果满足if判断条件,则跳过continue之后的指令,返回循环的第一步(x=x+1),继续判断下一个数是否满足(也就是继续循环的意思)。也就是说当x为偶数时,if x%2=0成立,直接跳过sum=sum+x,直接回到循环第一步,执行x=x+1以及之后的指令。只有x为奇数时,才会执行sum=sum+x指令,所以最后算得的是奇数的和。

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

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么我的答案是2550而不是2500

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