Python 3 - IF...ELIF...ELSE 语句

  • 简述

    else声明可以与if陈述。else语句包含代码块,如果 if 语句中的条件表达式解析为 0 或 FALSE 值,则执行该代码块。
    else 语句是可选语句,最多只能有else声明如下if.
  • 句法

    的语法if...else声明是 -
    
    if expression:
       statement(s)
    else:
       statement(s)
    
  • 流程图

    Python if...else 语句
  • 例子

    
    #!/usr/bin/python3
    amount = int(input("Enter amount: "))
    if amount<1000:
       discount = amount*0.05
       print ("Discount",discount)
    else:
       discount = amount*0.10
       print ("Discount",discount)
        
    print ("Net payable:",amount-discount)
    
  • 输出

    在上面的示例中,折扣是根据输入金额计算的。如果金额小于 1000,折扣率为 5%,如果金额高于 10000,则折扣率为 10%。执行上述代码时,会产生以下结果 -
    
    Enter amount: 600
    Discount 30.0
    Net payable: 570.0
    Enter amount: 1200
    Discount 120.0
    Net payable: 1080.0
    
  • elif 声明

    elif语句允许您检查多个表达式是否为 TRUE,并在其中条件的计算结果为 TRUE 时立即执行代码块。
    类似于else, 这elif声明是可选的。然而,不同于else, 对于最多可以有语句,可以有任意数量的elif之后的声明if.

    句法

    
    if expression1:
       statement(s)
    elif expression2:
       statement(s)
    elif expression3:
       statement(s)
    else:
       statement(s)
    
    Core Python 不像其他语言那样提供 switch 或 case 语句,但我们可以使用 if..elif... 语句来模拟 switch case,如下所示 -

    例子

    
    #!/usr/bin/python3
    amount = int(input("Enter amount: "))
    if amount<1000:
       discount = amount*0.05
       print ("Discount",discount)
    elif amount<5000:
       discount = amount*0.10
       print ("Discount",discount)
    else:
       discount = amount*0.15
       print ("Discount",discount)
        
    print ("Net payable:",amount-discount)
    
    执行上述代码时,会产生以下结果 -
    
    Enter amount: 600
    Discount 30.0
    Net payable: 570.0
    Enter amount: 3000
    Discount 300.0
    Net payable: 2700.0
    Enter amount: 6000
    Discount 900.0
    Net payable: 5100.0