6.1 if else
In Python, come in molti linguaggi di programmazione, i comandi possono essere eseguiti non solo linearmente, ma anche selettivamente, in base a una certa condizione. Questa struttura si chiama operatore condizionale. L'aspetto generale dell'operatore condizionale è il seguente:
if condizione:
comando1
else:
comando2
Se la condizione è vera (vero,
True
), verrà eseguito il
comando1, se falsa (falso,
False
) verrà eseguito il
comando2. I comandi non verranno mai
eseguiti contemporaneamente: o uno, o l'altro.
Importante!
Il comando o i comandi figli
devono essere assolutamente(!) indentati
di 4 spazi rispetto ai comandi if
e else
. Ne parlerò più dettagliatamente
nella prossima lezione "Blocco di comandi".
Esempi:
|
La condizione y > 5 è falsa, quindi verrà eseguito il ramo else e
il programma stamperà "y non è maggiore di 5"
|
Un altro esempio:
|
Se l'utente inserisce un numero 18 o più, il programma stamperà "sei maggiorenne", altrimenti stamperà "vai a fare i compiti". |
6.2 if senza else
Esistono altre 2 forme dell'operatore condizionale – ridotta e estesa.
Nella forma ridotta manca la parte else
.
if condizione:
comando
Se la condizione è vera, il comando verrà eseguito. Se non è vera, non verrà eseguito nulla – il programma procederà e eseguirà gli altri comandi, se ci sono.
Esempio:
|
Se l'utente inserisce un numero 21 o più, il programma stamperà "ecco la tua birra". Se il numero è inferiore a 21 – il programma non stamperà nulla. |
6.3 if elif else
La forma estesa dell'operatore if
else
permette di concatenare più operatori
if
else
in uno solo.
Supponiamo che tu voglia determinare in quale quadrante del piano
cartesiano si trova un punto con coordinate x
e y
. Ecco come è possibile farlo con l'operatore if
e else
:
|
Se x > 0 e y > 0 verrà visualizzato il messaggio "primo quadrante". Se x < 0 e y > 0 verrà visualizzato il messaggio "secondo quadrante". Se x < 0 e y < 0 verrà visualizzato il messaggio "terzo quadrante". Se x > 0 e y < 0 verrà visualizzato il messaggio "quarto quadrante". |
Poiché non si possono evitare le indentazioni, ma si desidera rendere il codice leggibile,
è stato creato l'apposito operatore elif
, che
consente di trasformare queste catene di if in qualcosa di più leggibile.
Si presenta così:
if condizione1:
comando1
elif condizione2:
comando2
elif condizioneN:
comandoN
else:
comandoElse
La parola chiave elif
è un'abbreviazione di else
if
. E
il codice nell'esempio sopra ora può essere scritto come:
|
Se x > 0 e y > 0 verrà visualizzata la scritta "primo quadrante". Se x < 0 e y > 0 verrà visualizzata la scritta "secondo quadrante". Se x < 0 e y < 0 verrà visualizzata la scritta "terzo quadrante". Se x > 0 e y < 0 verrà visualizzata la scritta "quarto quadrante". |
GO TO FULL VERSION