我刚开始学习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
这真是令人沮丧,因为这是一项非常简单的任务,但由于我不知道的原因,我收到错误。
有人可以解释一下。 感谢
答案 0 :(得分:2)
您不需要在i%2
声明中测试else
的结果。它应该只是:
else:
如果一个整数不是那么它必须是奇数,那么就没有必要明确地测试它。
答案 1 :(得分:1)
呃...替换..
else i % 2 == 0:
使用...
elif i % 2 == 0:
答案 2 :(得分:0)
正如早期评论员所说,首先尝试here。
那就是说,简短的回答是你无法在else
语句的if
部分中测试任何内容。如果您需要进行多项测试,请使用elif
。
e.g。
if i % 3 == 1:
# do something
elif i % 3 == 2:
# do something else
else:
# do the other thing if neither is true