你好,我目前正在努力掌握Python中的if,elif,else结构。我在python中尝试了一些奇怪的组合,有一个测试程序来知道if if,if,elif,elif,else代码中的输出。但是我得到了奇怪的结果,比如这个
input = raw_input('Please enter the required digit: ')
intput = int(input)
if intput == 0:
print 'if1'
if intput == 1:
print 'if2'
elif intput == 0:
print 'elif1'
elif intput == 1:
print 'elif2'
else:
print 'else'
如果我输入1将打印“if2”,我认为当我尝试更改“intput == n”代码时,它还会打印“elif2”和其他恶作剧。所以我的问题是我是否必须坚持使用if,elif,elif,.... n * elifs,否则我认为工作正常的方法比使用古怪如果,如果.... n * ifs,elif ,elif,... n * elifs,否则。
由于
答案 0 :(得分:7)
elif树的设计使得如果其中一个语句变成True
,那么elif
的其余部分将不会被评估。
Here's a tutorial可能会帮助您更好地理解if else
。
答案 1 :(得分:0)
这可能更清楚地理解:
if input == 0:
print "if1"
switch(input):
case 1:
print "if2"
break
case 0:
print "elif1"
break
case 1:
print "elif2"
break
default:
print "else"
break
当然,代码不起作用。