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