【问题标题】:If and elif in Python for good programming practicesPython 中的 if 和 elif 用于良好的编程实践
【发布时间】:2014-10-18 13:56:51
【问题描述】:

您好,我目前正在尝试很好地掌握 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, else 方法,在我看来这比使用古怪的 if,if.... n * ifs, elif , elif, ...n* elifs, 否则。

谢谢

【问题讨论】:

  • elif's 仅在前面的 if/elif 语句是 False 时才被评估,如果你有所有 if 语句,那么它们都将被评估,如果没有 True 那么else语句将被执行。
  • 感谢您的洞察力会修补它

标签: python if-statement


【解决方案1】:

elif 树的设计使得在任何地方,如果其中一个语句结果是 True,则不会评估 elifs 的其余部分。

Here's a tutorial 这可能会帮助您更好地理解if else

【讨论】:

    【解决方案2】:

    这可能更容易理解:

    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
    

    当然,代码不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多