Capitolo 5: Controllo di flusso

Gestisci il percorso di esecuzione dei tuoi programmi usando condizionali e cicli.

Scarica chapter5.py

Obiettivi

1. Istruzioni condizionali

Logica ramificata basata su espressioni booleane:

x = 10
if x < 5:
    print("x è minore di 5")
elif x < 15:
    print("x è compreso tra 5 e 14")
else:
    print("x è 15 o più")

Si possono annidare le condizioni:

score = 85
if score >= 90:
    grade = "A"
else:
    if score >= 80:
        grade = "B"
    else:
        grade = "C"
print(f"Voto: {grade}")

2. Cicli for

Itera su sequenze (liste, stringhe, range):

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# usando range()
for i in range(5):       # 0,1,2,3,4
    print(i)

Puoi anche iterare con l’indice:

for idx, val in enumerate(fruits, start=1):
    print(idx, val)

3. Cicli while

Ripeti finché una condizione è vera:

count = 0
while count < 3:
    print("Count è", count)
    count += 1

Usa un sentinella o flag per controllare il ciclo:

running = True
while running:
    cmd = input("Inserisci comando (quit per uscire): ")
    if cmd == "quit":
        running = False
    else:
        print("Hai digitato:", cmd)

4. break & continue

Modifica il flusso di esecuzione del ciclo:

for n in range(10):
    if n == 5:
        break        # interrompe il ciclo a 5
    print(n)

for n in range(5):
    if n % 2 == 0:
        continue     # salta i numeri pari
    print(n)         # stampa 1,3

Esercizi

  1. Scrivi uno script che stampa i numeri da 1 a 20, ma si ferma al primo divisibile per 7.
  2. Chiedi all’utente una password; continua a chiedere finché non inserisce quella corretta ("secret").
  3. Scorri una lista di nomi e stampa solo quelli che iniziano con una vocale usando continue.
  4. Implementa un ciclo annidato per stampare una tabella di moltiplicazione 5×5.