Python中的If和elif以获得良好的编程实践

Python中的If和elif以获得良好的编程实践,python,if-statement,Python,If Statement,您好,我目前正在努力掌握Python中的if、elif和else结构。我正在用python尝试一些奇怪的组合,用一个测试程序来了解这个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' e

您好,我目前正在努力掌握Python中的if、elif和else结构。我正在用python尝试一些奇怪的组合,用一个测试程序来了解这个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,在我看来,这个方法比使用古怪的if,if…,更有效。。。。如果,elif,elif,…如果,elif,else


感谢

elif树的设计使得在任何地方,如果其中一条语句被证明为
True
,则不会对其余的
elif
进行评估


这可能有助于您更好地理解
if else

elif树的设计使得在任何地方,如果其中一条语句被证明为
True
,则不会对其余的
elif
进行评估


这可能有助于您更好地理解
,否则

这可能更清楚地理解:

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

当然,代码不起作用

这可能更容易理解:

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

当然,代码不起作用

elif的
仅在前面的
if/elif
语句为
False
时才进行计算,如果您有所有if语句,则将对它们进行计算,如果没有
True
则执行
else
语句。感谢您的帮助,我们将对其进行修改
elif的
仅在前面的
if/elif
语句为
False
时才进行计算,如果您有all if语句,则将对它们进行计算,如果没有一个是
True
,那么将执行
else
语句。感谢您的帮助,我们将对其进行修补