Home Il Progetto Piani Mission
Home
Cicli in Python

Cicli in Python

Cos'è un ciclo in Python

In Python, un ciclo (o iterazione) è un costrutto di programmazione che permette di eseguire un blocco di codice ripetutamente. I cicli sono fondamentali per automatizzare compiti ripetitivi, elaborare elenchi di dati, o continuare un'operazione finché una specifica condizione non si verifica.

Ciclo for

Il ciclo for in Python è il più versatile e pythonico. Si usa spesso con la costruzione range() o per iterare su sequenze come liste, tuple, stringhe.

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

# Iterazione su una lista
frutta = ["mela", "banana", "arancia"]
for frutto in frutta:
    print(f"Mi piace la {frutto}")

Ciclo while

Il ciclo while esegue un blocco di codice finché una condizione rimane vera. È utile quando non si conosce il numero preciso di iterazioni.

conta = 0
while conta < 5:
    print(conta)
    conta += 1  # incrementa, altrimenti ciclo infinito!

Break e Continue

Le istruzioni break e continue controllano il flusso dei cicli. break interrompe immediatamente il ciclo, mentre continue salta il resto del corpo del ciclo e passa all'iterazione successiva.

# Esempio con break
for i in range(10):
    if i == 5:
        break  # esce quando i raggiunge 5
    print(i)  # 0-4

# Esempio con continue
for i in range(5):
    if i == 2:
        continue  # salta i=2
    print(i)  # 0, 1, 3, 4

Cicli annidati

I cicli possono essere annestati per gestire strutture bidimensionali come matrici o griglie.

# Matrice 3x3
matrice = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for riga in matrice:
    for elemento in riga:
        print(elemento, end=' ')
    print()

Cicli su dizionari

Python permette di iterare su dizionari, generando le chiavi, i valori o le coppie chiave-valore.

punti = {"giocatore1": 150, "giocatore2": 200, "giocatore3": 175}

for giocatore, score in punti.items():
    print(f"{giocatore}: {score} punti")

Nested Loop Pattern

Un pattern comune in programmazione è il "nested loop" o ciclo annidato, che si usa spesso per:


Ciclo infinito e sicurezza

È importante evitare i cicli infiniti. Sempre assicurarsi che le condizioni di terminazione siano soddisfatti:

# ❌ Errore: ciclo infinito
x = 0
while True:
    print(x)
    # manca x += 1

# ✅ Corretto
x = 0
while x < 100:
    print(x)
    x += 10

Best Practice


Link utili


🤖

Studio Assistito con l'Intelligenza Artificiale

Vuoi padroneggiare al meglio i concetti di questo articolo? Avvia lo studio assistito per generare riassunti automatici, mappe concettuali o farti interrogare con il metodo socratico.

🔗 Risorse e Approfondimenti

Libro Open Education Polito Wikipedia - Iterazione Python.org - Controllo Flusso MDN - Cicli di programma

🎯 Scegli l'Agente AI

Come preferisci studiare questo articolo?

📝
Riassuntore
Genera un riassunto strutturato dell'articolo
🧠
Schematizzatore
Crea mappe concettuali e schemi gerarchici
🎓
Tutor Socratico
Ti interroga sull'articolo con domande progressive

Contattaci per una prova gratuita