Python中if和elif的良好编程实践

1 投票
2 回答
1293 浏览
提问于 2025-04-18 18:26

你好!我现在正在努力理解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的用法。

撰写回答