順序不同,結(jié)果不同。
>>> while x<100:?
... ? ?sum=sum+x
...?? ? x=x+2
>>> print sum?
2500?
?>>> while x<100:
... ? ? x=x+2
sum=sum+x
>>> sum?
2600?
?兩種順序不同,結(jié)果不同,為什么呢?
>>> while x<100:?
... ? ?sum=sum+x
...?? ? x=x+2
>>> print sum?
2500?
?>>> while x<100:
... ? ? x=x+2
sum=sum+x
>>> sum?
2600?
?兩種順序不同,結(jié)果不同,為什么呢?
2016-05-25
舉報(bào)
2016-05-25
下面的代碼,sum多循環(huán)了一次
2016-05-25
等差數(shù)列求和問題。
>>> while x<100:?
... ? ?sum=sum+x
...?? ? x=x+2
>>> print sum?
2500?
對這個(gè),首先,你的首項(xiàng)是x = 1,sum第一次加的是1,最后一次 x = 99, sum = 2401+99,得到2500
>>> while x<100:
... ? ? x=x+2
... ? ? sum=sum+x
>>> sum?
2600?
對這個(gè),你的首項(xiàng)是x+2 =3,相當(dāng)于sum加的數(shù)字每次都大了2,而循環(huán)執(zhí)行了50次,結(jié)果2600
驗(yàn)證:最后一次的時(shí)候初始sum = 2499(倒數(shù)第二次循環(huán)就已經(jīng)加了x=99) + (99 +2)=2499+101=2600
結(jié)論:SUM并沒有多循環(huán)1次,而是SUM加的數(shù)字每次都大了2,多加了50次,所以多了100。
PS:推薦你把每次的x,sum打印出來自己看一下,上面兩種情況都要看。