x=x+1的位置放到while循環最后一句,為什么得不出結果?錯在哪里?
代碼如下:
sum = 0
x = 0
while True:
? ? #x +=1
? ? if x > 100:
? ? ? ? break
? ? if x%2==0:
? ? ? ? continue
? ? sum += x
? ? x += 1 ? ?#放在這,為什么得不到結果
print sum
代碼如下:
sum = 0
x = 0
while True:
? ? #x +=1
? ? if x > 100:
? ? ? ? break
? ? if x%2==0:
? ? ? ? continue
? ? sum += x
? ? x += 1 ? ?#放在這,為什么得不到結果
print sum
2016-12-23
舉報
2016-12-23
當x=0的時候,第一個if不滿足條件,于是繼續到第二個if。這時符合條件,于是continue到最開始的第一行代碼。這樣后面的sum=sum+x和x=x+1永遠無法運行,所以無果
2016-12-23
continue跳出本次循環 ?,變量x的值永遠是 0 ,進入死循環。
2016-12-23
當x為偶數時,x%2==0為真,執行continue跳出循環,下一次循環時x的值并未改變,還是偶數,會進入死循環。
在continue前面加一句x += 1即可。如下:
if x%2==0:
? ? ? ??x += 1
? ? ? ? continue