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.