結果為5050
?sum=0
>>> x=0
>>> while True:
...???? sum=sum+x
...???? x=x+1
...???? if x%2==0:
...????? continue
...???? if x>100:
...????? break
...
>>> print sum
5050
為何結果為5050,看不懂
?sum=0
>>> x=0
>>> while True:
...???? sum=sum+x
...???? x=x+1
...???? if x%2==0:
...????? continue
...???? if x>100:
...????? break
...
>>> print sum
5050
為何結果為5050,看不懂
2017-08-17
舉報
2017-08-17
相當于100以內(包括100)所有數據的和,后面兩個if語句其實對該程序沒有什么影響,第一個if表示當x為偶數時進行下一輪循環,下一個if將不會再執行,第二個if表示當x大于100時就結束循環,結束循環時的數據為101是一個奇數也就沒有執行continue語句,但是如果把第二個if改成if x > 101時就不再是計算101以內的所有數據和,而是計算102以內的所有數據和,因為當數據為102時會執行continue語句,只有到103時才會結束。
2017-08-17
if x%2==0: continue ? 這條語句完全沒有作用,每次都會運行sum=sum+x
2017-08-17
因為你的判斷條件放在后面了,你每次都把x加到sum里面后然后判斷了,所以你實際干的事是從1加到100,就是5050
2017-08-17
sum=sum+x 這條語句應該放到 if 后邊。你這樣寫的話,無論if 語句判斷結果是什么都會執行sum=sum+x