Python - Controllo del Flusso

Ciao a tutti, aspiranti esperti di Python! Oggi immergeremo nel mondo avventuroso del controllo del flusso in Python. Pensa al controllo del flusso come ai semafori della programmazione: esso dirige il flusso del tuo codice, indicandogli quando partire, fermarsi o prendere un deviato. Iniziamo!

Python - Control Flow

Istruzioni di Decisione

Immagina di essere in un negozio di gelati. Devi decidere: cioccolato o vaniglia? Questo è esattamente ciò che fanno le istruzioni di decisione in Python: aiutano il tuo programma a fare scelte.

Laistruzione 'if'

L'istruzione 'if' è la forma più semplice di decisione. Ecco come funziona:

gusto_gelato = "cioccolato"

if gusto_gelato == "cioccolato":
print("Delizioso! Il cioccolato è il mio preferito!")

In questo esempio, se il gusto_gelato è "cioccolato", verrà stampato il messaggio. Se non lo è, non accade nulla.

L'istruzione 'if-else'

Ma cosa fare se vogliamo eseguire qualcosa quando la condizione non è vera? Ecco dove entra in gioco 'else':

età = 15

if età >= 18:
print("Puoi votare!")
else:
print("Spiacente, sei troppo giovane per votare.")

Qui, se l'età è 18 o più, verrà stampato "Puoi votare!". Altrimenti, verrà stampato l'altro messaggio.

L'istruzione 'if-elif-else'

A volte, abbiamo bisogno di verificare più condizioni. Ecco dove 'elif' (abbreviazione di 'else if') si rivela utile:

punteggio = 85

if punteggio >= 90:
print("A")
elif punteggio >= 80:
print("B")
elif punteggio >= 70:
print("C")
else:
print("Necessita miglioramento")

Questo codice verifica il punteggio e stampa il grado corrispondente.

Istruzioni di Ciclo o Iterazione

I cicli sono come le caroselli per il tuo codice. Lasciano ripetere le azioni senza dover scrivere lo stesso codice più e più volte.

Il ciclo 'for'

Il ciclo 'for' è ottimo quando sai quanti volte vuoi ripetere qualcosa:

frutti = ["mela", "banana", "ciliegia"]

for frutto in frutti:
print(f"Amo il {frutto}!")

Questo ciclo stampa "Amo il [frutto]!" per ogni frutto nell'elenco.

Il ciclo 'while'

Il ciclo 'while' continua finché una condizione è vera:

conto = 0

while conto < 5:
print(f"Il conto è {conto}")
conto += 1

Questo stamperà il conto da 0 a 4.

Istruzioni di Salto

Le istruzioni di salto sono come passaggi segreti in un videogioco: ti permettono di saltare parti del tuo codice o uscire dai cicli in anticipo.

L'istruzione 'break'

'break' ti permette di uscire immediatamente da un ciclo:

for i in range(10):
if i == 5:
print("Trovato 5! Uscendo dal ciclo.")
break
print(i)

Questo stamperà numeri da 0 a 4, poi esce quando trova 5.

L'istruzione 'continue'

'continue' salta il resto della corrente iterazione e passa alla successiva:

for i in range(5):
if i == 2:
print("Saltando 2")
continue
print(i)

Questo stamperà tutti i numeri da 0 a 4, tranne 2.

L'istruzione 'pass'

'pass' è come un segnaposto. Non fa nulla, ma è utile quando hai bisogno di blocchi di codice vuoti:

for i in range(5):
if i == 2:
pass  # TODO: Aggiungere gestione speciale per 2
else:
print(i)

Questo stamperà tutti i numeri tranne 2, dove non farà nulla (per ora).

Mettere Tutto Insieme

Ora, combiniamo questi concetti in un piccolo gioco divertente:

import random

numero_segreto = random.randint(1, 10)
tentativi = 0

while True:
ipotesi = int(input("Indovina il numero (1-10): "))
tentativi += 1

if ipotesi < numero_segreto:
print("Troppo basso!")
elif ipotesi > numero_segreto:
print("Troppo alto!")
else:
print(f"Hai indovinato in {tentativi} tentativi!")
break

if tentativi == 3:
print(f"Spiacente, hai esaurito i tentativi. Il numero era {numero_segreto}.")
break

Questo gioco utilizza un ciclo while, istruzioni if-elif-else e l'istruzione break per creare un gioco di indovinelli di numeri. È un ottimo esempio di come il controllo del flusso può creare programmi interattivi!

Sintesi

Ecco una tabella di riferimento rapida degli statement di controllo del flusso che abbiamo coperto:

Istruzione Scopo
if Fare una decisione basata su una condizione
if-else Scegliere tra due opzioni
if-elif-else Scegliere tra più opzioni
for Ripetere il codice un numero specifico di volte
while Ripetere il codice mentre una condizione è vera
break Uscire early da un ciclo
continue Saltare alla prossima iterazione di un ciclo
pass Non fare nulla (segnaposto)

Ricorda, padroneggiare il controllo del flusso è come imparare a dirigere un'orchestra: ti dà la potenza di creare programmi complessi e belli da semplici istruzioni. Continua a praticare, e presto scriverai sinfonie in Python!

Credits: Image by storyset