請問這個代碼怎么算不出來
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
當(dāng)X == 2 的時候就陷入死循環(huán)了,continue意思是跳過下面內(nèi)容重新返回循環(huán),X的值始終沒有變,當(dāng)然也就算不出來了。
解決方案是:把x= x+1 放到break和if 之間,
2016-05-07
其實呢, 這個代碼在 執(zhí)行過第一遍后, x自加了1 成為了?
這時候再進(jìn)入循環(huán)體:
2016-05-07
改成這樣就好,不然x=2,直接continu,然后換是2執(zhí)行if然后換是2執(zhí)行···
?if x % 2 == 0:
? ? ? ? sum = sum + x
? ? ? ? x = x + 1
? ? ? ? continue
2016-05-07
因為 if x%2==0 ?這一句之后跳出循環(huán),就沒法對x進(jìn)行自加了,所以之后的代碼無法運(yùn)行,所以出不來結(jié)果,需要顛倒一下順序。