簡體   English   中英

為什么這個簡單的 python 數學方程會出現語法錯誤

[英]Why do I get a syntax error with this simple python math equation

我剛剛開始學習 Python,我一直在通過編寫各種方程式來幫助我學習,從而玩弄 coderunner。

這是我寫的等式

def mission(x):
    total = []
    for i in x:
        if i % 2 == 0:
            z = i**2 + 20
        else i % 2 == 1:
            y = i**3 + 30
        total.append(y)
        total.append(z)
    return total

print mission([1,2,3,4,5,6,7,9])

這是我不斷收到的錯誤:

  File "Untitled 2.py", line 6
  else i % 2 == 1:
     ^
SyntaxError: invalid syntax

這真的很令人沮喪,因為這是一項如此簡單的任務,但由於我不知道的原因,我收到了錯誤消息。

有人可以解釋一下。 謝謝

您不需要在else語句中測試i%2的結果。 它應該只是:

else:

如果一個整數不是偶數,那么它一定是奇數,就沒有必要明確地測試它。

呃……換……

else i % 2 == 0:

和...

elif i % 2 == 0:

正如前面的評論員所提到的,請先在這里嘗試。

也就是說,簡短的回答是你不能在if語句的else部分測試任何東西。 如果您需要進行多個測試,請使用elif 例如

if i % 3 == 1:
    # do something
elif i % 3 == 2:
    # do something else
else:
    # do the other thing if neither is true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM