while是下面的公式,如果把 sum = sum + x和x = x +2的顺序互换,为什么结果是不一样的呢?
x = 1
sum = 0
while x < 100:
x = x+2
sum = sum + x
print(sum)
#打印结果
2600
x = 1
sum = 0
while x < 100:
sum = sum + x
x = x+2
print(sum)
#打印结果
2500
息心
浏览 606回答 1
1回答
pardon110
当然不一样,前者是在每次循环变量+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发生关系了