看看這運行結果這是什么問題??
while True:
? ? if n>20:
? ? ? ? break
? ? x*=2
? ? print x
? ? n+=1
? ? sum+=x
print 'the final is', sum
發現一個問題,如果此時n為20,按照break的用法此時應該跳出循環不應該在執行下面的代碼,但是運行結果顯示的是繼續執行了!運行結果是:
the final is 2097151
如果這樣修改的話:
while True:
? ? if n>20:
? ? ? ? break
? ??sum+=x
? ? x*=2
? ? print x
? ? n+=1
?這樣雖然執行了,但是sum的值依然是上一次運行的值,結果就是the final is 1048576
?
2015-12-16
應該是 if n>=20,這樣才不會執行吧。第二個問題,是因為最終輸出的是sum, 而第二個code里sum并沒有加進最后一次的x*=2,所以不一樣