while True:循環先后順序一比一直導致結果不一致????
sum = 0
x = 1
n = 1
while True:
? ? ? ?if n>20:
? ? ? ?break
? ?sum=sum+x
? ?x=x*2
? ?n=n+1
print sum
與
sum = 0
x = 1
n = 1
while True:
? ?sum=sum+x
? ?x=x*2
? ?n=n+1
if n>20:
? ? ? ?break
print sum
運行結果不一致:哪位大神能解答一下???
2016-07-28
好像因為if n>20:放置的位置不同,導致n多循環了一次 所以結果不一致。。。。。我是小白,所以如果不對,別怪我!
2016-09-16
按照樓上說法,如果你改為n=19(或者是你n=21)就能得到正確答案,實際上并不會
2016-09-16
反對已經采納答案,實際上是一樣的,我兩種都試過,對于if放在循環結尾的和if處于開頭的是一樣的,因為在循環的最后都是執行if,處于開頭的確實多進行了一次循環,但這次循環下面的代碼塊不會被執行,因為已經break了
2016-07-28
運行的結果是一致的啊,都是1048575,沒有錯誤,都是一樣的