Python 3 - Instruções IF ... ELIF ... ELSE

A else declaração pode ser combinada com um ifdeclaração. Aelse instrução contém um bloco de código que é executado se a expressão condicional na instrução if for resolvida para 0 ou um valor FALSE.

A instrução else é uma instrução opcional e pode haver no máximo apenas uma else declaração seguinte if.

Sintaxe

A sintaxe do if...else declaração é -

if expression:
   statement(s)

else:
   statement(s)

Diagrama de fluxo

Exemplo

#!/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)

Resultado

No exemplo acima, o desconto é calculado sobre o valor de entrada. A taxa de desconto é de 5%, se o valor for inferior a 1.000, e de 10% se for superior a 10.000. Quando o código acima é executado, ele produz o seguinte resultado -

Enter amount: 600
Discount 30.0
Net payable: 570.0

Enter amount: 1200
Discount 120.0
Net payable: 1080.0

A declaração elif

o elif A instrução permite que você verifique várias expressões como TRUE e execute um bloco de código assim que uma das condições for avaliada como TRUE.

Semelhante ao else, a elifdeclaração é opcional. No entanto, ao contrárioelse, para o qual pode haver no máximo uma declaração, pode haver um número arbitrário de elif declarações após um if.

sintaxe

if expression1:
   statement(s)
elif expression2:
   statement(s)
elif expression3:
   statement(s)
else:
   statement(s)

O Core Python não fornece instruções switch ou case como em outras linguagens, mas podemos usar as instruções if..elif ... para simular switch case da seguinte maneira -

Exemplo

#!/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)

Quando o código acima é executado, ele produz o seguinte resultado -

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