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

break放在最后为什么答案错误

为什么我这样回答是错的啊?这个程序的答案是2601

sum = 0

x = 0

while True:

    x =x + 1

    if x % 2 == 0:

        continue

    sum = sum + x

    if x > 100:

        break

print sum

wyip

正在回答

2 回答

sum = 0

x = 0

while True:

    x =x + 1

    if x % 2 == 0:

        continue

    sum = sum + x # 多算了101 ,当x  = 101 时,你先做了累加,然后才break,所以结果变成了2601

    if x > 100:

        break

   sum = sum + x 将累加放在x > 100之后

print sum


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

慕勒6434110 提问者

我明白了,所以if...break放在前面就保证了x的值不超过100了对吧
2018-01-16 回复 有任何疑惑可以回复我~

很奇怪……我把你的代码复制粘贴运行了一遍发现没问题,运行结果是2601。

请问你要求的是100以内所有奇数之和吗?

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

慕勒6434110 提问者

对,运行之后是2601,为什么不是正确答案2500呢
2018-01-16 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

break放在最后为什么答案错误

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