为什么我用这个简单的python数学方程得到语法错误

时间:2015-09-17 02:05:39

标签: python

我刚开始学习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

这真是令人沮丧,因为这是一项非常简单的任务,但由于我不知道的原因,我收到错误。

有人可以解释一下。 感谢

3 个答案:

答案 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