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

请问一下各位大佬

sum = 0
x = 1
while x<100:
    sum=sum+x
    x=x+2
print sum
#假如把sum=sum+x和x=x+2换过在运行为什么等于2600不是等于2500


正在回答

3 回答

按照原顺序,sum=1+3+5+...+99。如果改变顺序的话,x会先累加再与sum相加,sum=3+5+7....+101。

最后会比原来多一个101,少一个1.

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

可是竟然通过了,要不是看了下答案还没发现问题

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

因为原本X=101时不会执行求和代码。但换了位置后,对X=101时,紧接的就是求和公式,之后才是判定。也就说还来得及判定和S相加了,所以说多加了一个本不该加的X。此时X=101

开头的地方又由于x=x+2在求和公式之上,所以第一个X是3,并不是1,也就是漏加了一个1。而多加了一个101.

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

举报

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

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

进入课程

请问一下各位大佬

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