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

顺序不同,结果不同。

>>> while x<100: 

...    sum=sum+x

...     x=x+2

>>> print sum 

2500 

 >>> while x<100:

...     x=x+2

sum=sum+x

>>> sum 

2600 

 两种顺序不同,结果不同,为什么呢?

正在回答

2 回答

下面的代码,sum多循环了一次

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

qq_地瓜_4 提问者

非常感谢!
2016-05-25 回复 有任何疑惑可以回复我~

等差数列求和问题。

>>> while x<100: 

...    sum=sum+x

...     x=x+2

>>> print sum 

2500 

对这个,首先,你的首项是x = 1,sum第一次加的是1,最后一次 x = 99, sum = 2401+99,得到2500

>>> while x<100:

...     x=x+2

...     sum=sum+x

>>> sum 

2600 

对这个,你的首项是x+2 =3,相当于sum加的数字每次都大了2,而循环执行了50次,结果2600

验证:最后一次的时候初始sum = 2499(倒数第二次循环就已经加了x=99) + (99 +2)=2499+101=2600

结论:SUM并没有多循环1次,而是SUM加的数字每次都大了2,多加了50次,所以多了100。

PS:推荐你把每次的x,sum打印出来自己看一下,上面两种情况都要看。

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

举报

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

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

进入课程

顺序不同,结果不同。

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