Python的for in range(),括號內前兩個值分別是起始值和終止值,然後最後圈只會執行到終止值-1
,所以妳要看到25,就要讓迴圈執行到i=10,也就是for i in range(1,11):
,才會看到上一輪加好的25(sumA)被印出來
因為你的print寫在else那邊,
但是9不會執行到else,
所以沒有執行到print.
因為
for i in range(1,10):
只會執行到9,
另外最好用兩個程式碼標籤(```)把程式碼包起來,
python最重要的是縮排...
#寫法1 當i=奇數,if條件成立時,才print(sumA)
sumA=0
sumB=0
for i in range(1,10):
if i%2==1:
sumA+=i
print(sumA)
else:
sumB+=i
#寫法2 每次運行不列印,print(sumA)的結果在迴圈跑完後,只列印一次
sumA=0
sumB=0
for i in range(1,10):
if i%2==1:
sumA+=i
else:
sumB+=i
print(sumA)
不確定您是要每次迴圈i跑過都要列印sumA,還是要單純找奇數相加
python像上面大大說的縮排不同會影響結果。
或換個思路~原本每個迴圈跑完印一次是下面這樣
1
1
4
4
9
9
16
16
25
#你的應該是長這樣
else:
sumB=sumB+i
print(sumA)
所以最後一個迴圈i=9時,因為符合if條件,自然跑不到else裡print(sumA),等於說你上面印的sumA結果,都是i=偶數的結果的意思(sumA沒加到東西),希望這樣解釋比較清楚。
照你想要的邏輯,應該是把print(sumA)移到if條件裡囉~