請問這個代碼怎么算不出來
sum = 0
x = 1 ?
while True:
? ? if x > 100:
? ? ? ? break
? ? if x % 2 == 0:
? ? ? ? continue
? ? sum = sum + x
? ? x = x + 1
print sum
請問這個代碼怎么算不出來
sum = 0
x = 1 ?
while True:
? ? if x > 100:
? ? ? ? break
? ? if x % 2 == 0:
? ? ? ? continue
? ? sum = sum + x
? ? x = x + 1
print sum
請問這個代碼怎么算不出來
2016-05-07
舉報
2016-05-07
?if x % 2 == 0:
? ? ? ? continue
當X == 2 的時候就陷入死循環了,continue意思是跳過下面內容重新返回循環,X的值始終沒有變,當然也就算不出來了。
解決方案是:把x= x+1 放到break和if 之間,
2016-05-07
其實呢, 這個代碼在 執行過第一遍后, x自加了1 成為了?
這時候再進入循環體:
2016-05-07
改成這樣就好,不然x=2,直接continu,然后換是2執行if然后換是2執行···
?if x % 2 == 0:
? ? ? ? sum = sum + x
? ? ? ? x = x + 1
? ? ? ? continue
2016-05-07
因為 if x%2==0 ?這一句之后跳出循環,就沒法對x進行自加了,所以之后的代碼無法運行,所以出不來結果,需要顛倒一下順序。