Python 3 - Dichiarazioni IF ... ELIF ... ELSE

Un else l'istruzione può essere combinata con un'istruzione ifdichiarazione. Unelse l'istruzione contiene un blocco di codice che viene eseguito se l'espressione condizionale nell'istruzione if si risolve in 0 o in un valore FALSE.

L'istruzione else è un'istruzione opzionale e potrebbe essercene al massimo una sola else dichiarazione seguente if.

Sintassi

La sintassi di if...else l'affermazione è -

if expression:
   statement(s)

else:
   statement(s)

Diagramma di flusso

Esempio

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

Produzione

Nell'esempio precedente, lo sconto viene calcolato sull'importo di input. Il tasso di sconto è del 5%, se l'importo è inferiore a 1000, e del 10% se è superiore a 10000. Quando il codice precedente viene eseguito, produce il seguente risultato:

Enter amount: 600
Discount 30.0
Net payable: 570.0

Enter amount: 1200
Discount 120.0
Net payable: 1080.0

La dichiarazione elif

Il elif L'istruzione consente di verificare più espressioni per TRUE ed eseguire un blocco di codice non appena una delle condizioni restituisce TRUE.

Simile al else, il elifla dichiarazione è facoltativa. Tuttavia, a differenza dielse, per la quale può esserci al massimo un'istruzione, può esserci un numero arbitrario di elif dichiarazioni che seguono un if.

sintassi

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

Core Python non fornisce istruzioni switch o case come in altri linguaggi, ma possiamo usare istruzioni if..elif ... per simulare switch case come segue:

Esempio

#!/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 il codice sopra viene eseguito, produce il seguente risultato:

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