In questa parte andremo ad imparare l'utilizzo di queste tre strutture python: if, else e else if.

Fino ad ora abbiamo scritto del codice che viene eseguito in modo sequenziale, dove ogni istruzione viene eseguita una dopo l'altra. Tuttavia un vero programma necessita a volte di dover scegliere quali istruzioni eseguire in base alla logica che vi è dietro.

Per far prendere delle "decisioni" al nostro programma ci dovremmo affidare dunque alle istruzioni condizionali.

Usare If in Python

Partiamo dalla forma di implementazione più semplice, ovvero utilizzando solamente l'istruzione if. La sintassi è molto semplice, ovvero if condizione, due punti : , e a capo un blocco di istruzioni indentato che vogliamo eseguire nel caso la condizione indicata fosse vera:

print("Prima del blocco if")

if 10 > 1:
print("Dentro il primo blocco if")

if 10 > 11:
print("Dentro il secondo blocco if")

print("Dopo il blocco if")

Come vedi l'istruzione della seconda if non viene eseguita(infatti non viene stampato a schermo Dentro il secondo blocco if) perché appunto 10 non è maggiore di 11.

Un altra cosa che avrai notato è che le due print all'interno delle if, sono precedute da degli spazi, detti in gergo indentazione.

L'indentazione è fondamentale in Python in quanto gli permette di identificare se un blocco di istruzioni appartiene o meno ad una struttura di controllo.

Le strutture di controllo sono tutte quelle strutture che ci permettono di eseguire dei blocchi di codice solo in determinate situazioni(ad esempio la if, else, else if, i cicli for, while etc..)

Solitamente negli ambienti di sviluppo più moderni l'indentazione viene impostata automaticamente quando si digitano i due punti : e si va a capo.

La clausola If/Else

istruzione sequenziale

if condizione: istruzione1
istruzione2 else: istruzione alternativa

istruzione sequenziale

Un'istruzione else può essere combinata con una if e contiene il blocco di istruzioni che verranno eseguite solamente se la condizione specificata nella if darà come risultato False o 0.

Come hai potuto notare, i blocchi di istruzione all'interno sia della if che della else, hanno un indentazione diversa. 

Prendiamo come esempio un programma che mi visualizza a schermo se un numero è pari o dispari:

a = 10
if (a % 2 == 0):
    print("pari")
else:
    print("dispari")

Nel caso non ti fosse chiara la condizione a % 2 == 0 presente nell'esempio, per determinare se il numero è pari abbiamo utilizzato due operatori visti nella parte precedente del corso: il modulo(o %) che ci permette ottenere il resto da una divisione e l'operatore == che pone a confronto due valori.

In questo caso andiamo a verificare che dividendo un numero(a) per 2 otteniamo come resto 0. Se(if) la condizione risulta vera, il numero è pari, altrimenti(else) sarà dispari.

La clausola If/Else/Else if

Utilizzando i costrutti if/else possiamo gestire solamente due condizioni per volta. Ipotizziamo di avere una variabile x che può assumere 3 valori differenti e in base al valore assunto il programma dovrà eseguire una operazione specifica, per far ciò dovremmo servirci della clausola else if:

x = 2

if(x == 1):
print("x uguale a 1")
elif(x == 2):
print("x uguale a 2")
elif(x == 3):
print("x uguale a 3")
else:
print("numero non mappato")

Conclusione

Bene, siamo giunti al termine anche di questa quarta parte, spero di esserti stato utile.

Ti invito a commentare qua sotto 👇, a seguirmi su instagram e di iscriverti alla mia newsletter per rimanere sempre aggiornato sulle news di questo blog, alla prossima!


Condividi sui Social