我正在写一个计算器,但由于某种原因它告诉我的elif语法是错误的? (使用python 3.5)Screenshot Of the error
(我正在使用python附带的IDLE ide)
答案 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
它会失败。定义程序顶部的所有功能和最后的程序主体。