<aside> 📚 Torna all'indice dei capitoli: Corso Python
</aside>
<aside> ⬅️ Capitolo precedente: 5. Operatori ed Espressioni
</aside>
In questo capitolo:
Fino ad ora abbiamo sempre visto programmi con una serie di istruzioni eseguite da Python in un ordine top-down, dall'alto verso il basso. Per visualizzare meglio il flusso delle istruzioni, vediamo un esempio di programma che sappiamo già scrivere, rappresentato con un diagramma a blocchi.

E se volessimo invece controllare il flusso del programma? Ad esempio, eseguire una certa istruzione più volte, saltarne una.
A volte vogliamo che il nostro programma prenda alcune decisioni e faccia cose diverse in base alla situazione. Nell'esempio sopra, come facciamo a stampare una cosa diversa in caso di age >= 18?
Entrano in gioco i costrutti di controllo di flusso. In Python ne esistono di tre tipi: if, for and while. Vengono chiamati costrutti (constructs) perché sono formati da più istruzioni che funzionano assieme, non sono singole istruzioni.
ifL'if viene usato per prendere decisioni in base a una determinata condizione: se (if) la condizione è vera (true), eseguiamo un certo blocco di istruzioni (if-block), altrimenti (else) ne eseguiamo un altro diverso (else-block). La clausola else è opzionale. Ci permette di ottenere un flusso come a quello rappresentato in questo diagramma:

if condizione:
# blocco If
else: # opzionale
# blocco else
# In caso si voglia verificare un'altra condizione nel blocco else, usiamo elif
if condizione1:
# blocco If
elif condizione2:
# blocco If
elif condizione3:
# blocco If
else:
# blocco Else
