Python中if和elif的良好编程实践
你好!我现在正在努力理解Python中的if、elif和else结构。我在尝试一些奇怪的组合,写了一个测试程序来看看在这个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”。我原以为它也会打印“elif2”,以及其他一些奇怪的东西,当我尝试更改“input == n”的代码时。所以我的问题是,我是否必须坚持使用if、elif、elif……n个elif和else的方法?因为我觉得这样工作得还不错,而不是用那些奇怪的if、if……n个if、elif、elif……n个elif和else的组合。
谢谢!
2 个回答
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
当然,这段代码是不能运行的。
8
这个elif树的设计是这样的:只要在某个地方的if语句中,有一个条件是True
(也就是成立),那么后面的所有elif
语句就不会再被检查了。
这里有一个教程,可能会帮助你更好地理解if else
的用法。