如果和elif在Python中进行良好的编程实践

时间:2014-08-25 12:04:53

标签: python if-statement

你好,我目前正在努力掌握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,否则。

由于

2 个答案:

答案 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

当然,代码不起作用。