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

while是下面的公式,如果把 sum = sum + x和x = x +2的顺序互换,为什么结果是不一样的呢?

while是下面的公式,如果把 sum = sum + x和x = x +2的顺序互换,为什么结果是不一样的呢?

息心 2019-06-21 16:42:15
x = 1 sum = 0 while x < 100:     x = x+2     sum = sum + x print(sum) #打印结果 2600x = 1 sum = 0 while x < 100:     sum = sum + x     x = x+2 print(sum) #打印结果 2500
查看完整描述

1 回答

?
pardon110

TA贡献1038条经验 获得超227个赞

当然不一样,前者是在每次循环变量+2基础上求sum和,后者只是每次循环变量与和的累加

换句话而言,顺序不同sum求和如下

sum = sum + x+2  # 每次求和在当前循环变量基础上+2
sum = sum + x    # 每次求和只是与当前循环变量相加

即同样的循环次数,循环变量,前者sum每次累加值比后者大2, 最终前者比后者sum多 2 * 循环次数


x = x+2
sum = sum + x  # 此处的x 已变成了 当前循环变量x + 2, x已经不是当前循环变量的值
sum = sum + x
x = x+2       # 尽管x发生了变化,但与sum没关系,sum只与当前循环变量x发生关系了


查看完整回答
反对 回复 2019-06-21
  • 1 回答
  • 0 关注
  • 605 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信