问题:’else if’的正确语法是什么?
我是一名新的Python程序员,他正在从2.6.4跃升至3.1.1。在尝试使用“ else if”语句之前,一切都进行得很好。解释器在“ else if”中的“ if”之后给了我一个语法错误,原因是我似乎无法弄清。
def function(a):
if a == '1':
print ('1a')
else if a == '2'
print ('2a')
else print ('3a')
function(input('input:'))
我可能缺少一些非常简单的东西;但是,我无法自行找到答案。
回答 0
在python中,“ else if”被拼写为“ elif”。
另外,您还需要在elif
和之后加上一个冒号else
。
简单回答一个简单的问题。刚开始时(过去几周),我遇到了同样的问题。
因此,您的代码应为:
def function(a):
if a == '1':
print('1a')
elif a == '2':
print('2a')
else:
print('3a')
function(input('input:'))
回答 1
你是说elif
吗
回答 2
def function(a):
if a == '1':
print ('1a')
elif a == '2':
print ('2a')
else:
print ('3a')
回答 3
自古以来,if/else if
Python中正确的语法是elif
。顺便说一句,如果您有很多if/else
.eg ,则可以使用字典。
d={"1":"1a","2":"2a"}
if not a in d: print("3a")
else: print (d[a])
对于msw,使用字典执行函数的示例。
def print_one(arg=None):
print "one"
def print_two(num):
print "two %s" % num
execfunctions = { 1 : (print_one, ['**arg'] ) , 2 : (print_two , ['**arg'] )}
try:
execfunctions[1][0]()
except KeyError,e:
print "Invalid option: ",e
try:
execfunctions[2][0]("test")
except KeyError,e:
print "Invalid option: ",e
else:
sys.exit()
回答 4
这是函数的一点重构(它不使用“ else”或“ elif”):
def function(a):
if a not in (1, 2):
a = 3
print(str(a) + "a")
@ ghostdog74:Python 3要求在“打印”中加上括号。
回答 5
def function(a):
if a == '1':
print ('1a')
else if a == '2'
print ('2a')
else print ('3a')
应该更正为:
def function(a):
if a == '1':
print('1a')
elif a == '2':
print('2a')
else:
print('3a')
正如您所看到的,else如果应该更改为elif,则’2’之后应该有冒号,否则,else语句之后应该有一个新行,并关闭print和括号之间的空间。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。