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

0~100求和,为什么这样写运行结果是5151?哪里出了问题?

sum = 0
x = 0
while True:
    x = x + 1
    sum = sum + x
    if x > 100:
        break
print sum


正在回答

5 回答

看了各位的解释,基本上明白了。谢谢(●˘◡˘●)

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

你的if判断语句有问题,应该是 x == 100的时候break

以x>100为条件的话相当于计算0~101求和。

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

x为100时, if x>100 不成立, 继续执行一次循环, 此次循环 x为101  并执行了 sum=sum+x 所以结果多了101

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

加多了个101

sum = 0

x = 0

while True:

    if x > 100:

        break

    sum = sum + x

    x = x + 1

print sum


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

x = x + 1

    sum = sum + x

把这两句顺序改变一下结果就是正确的,为什么会这样?

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

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信