Python:Elif声明很奇怪

时间:2016-09-18 18:46:45

标签: python

我正在写一个计算器,但由于某种原因它告诉我的elif语法是错误的? (使用python 3.5)Screenshot Of the error

(我正在使用python附带的IDLE ide)

2 个答案:

答案 0 :(得分:1)

您正在定义if块和elif块之间的函数。你不能这样做。

这失败了:

if condition:
    pass
def f():
    pass
elif condition:
    pass

解释器不知道if所属的elif语句,因为elif的正上方是函数定义。从if..elif结构的中间取出函数定义:

def f():
    pass
if condition:
    pass
elif condition:
    pass

答案 1 :(得分:0)

不要使用IDLE,使用Sublime或Notepad ++等专业编辑器和CLI来运行程序。

你的elif是缩进级别的。应该是这样的:

if a:
    pass
elif b:
    pass

如果你这样做:

if a:
    pass
def func():
    pass
elif b:
    pass

它会失败。定义程序顶部的所有功能和最后的程序主体。