[英]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.