Capitolo 7 – Iterazione e cicli Python
Iterazione e cicli Python permettono di ripetere automaticamente blocchi di istruzioni tramite while, for e range(), rendendo possibile la costruzione di algoritmi efficienti e generalizzabili.
Materiale originale a cura di Alfredo Di Fiore – megistone.it
Manuale completo:
vai all’indice del corso
L’iterazione e i cicli Python permettono di eseguire ripetutamente uno stesso blocco di istruzioni, rendendo possibile la costruzione di algoritmi più efficienti, compatti e generalizzabili.
7.1 Obiettivi formativi
Al termine di questo capitolo lo studente sarà in grado di:
- comprendere il concetto di iterazione;
- distinguere tra ciclo
whilee ciclofor; - utilizzare correttamente la funzione
range(); - analizzare blocchi iterativi con condizioni di arresto;
- riconoscere errori comuni nei cicli.
7.2 Iterazione e cicli Python: definizione
Per iterazione si intende la ripetizione di un blocco di istruzioni.
In Python questa ripetizione può essere realizzata principalmente tramite i costrutti while e for.
I cicli sono fondamentali perché permettono di:
- automatizzare operazioni ripetitive;
- scorrere sequenze di dati;
- costruire algoritmi di conteggio, ricerca e accumulo.
7.3 Il ciclo while
Il ciclo while esegue un blocco di istruzioni finché una condizione rimane vera.
x = 1
while x <= 5:
print(x)
x = x + 1
Il programma stampa i numeri da 1 a 5.
È fondamentale che la variabile di controllo venga aggiornata, altrimenti il ciclo potrebbe diventare infinito.
Il ciclo while è adatto quando non si conosce in anticipo il numero esatto di iterazioni,
ma si conosce la condizione di arresto.
7.4 Iterazione e cicli Python con for
Il ciclo for consente di iterare su una sequenza o su un insieme di valori.
for i in range(5):
print(i)
In questo caso vengono stampati i numeri da 0 a 4.
Il costrutto for è particolarmente utile quando il numero di iterazioni è noto o determinabile.
7.5 La funzione range()
La funzione range() genera una sequenza di interi.
Può essere utilizzata in tre forme:
range(stop)range(start, stop)range(start, stop, step)
for i in range(2, 10, 2):
print(i)
Questo esempio stampa i numeri pari compresi tra 2 e 8.
7.6 Differenza tra while e for
| Costrutto | Uso principale | Quando conviene |
|---|---|---|
while |
ripetizione condizionata | quando conta una condizione di arresto |
for |
iterazione su sequenze | quando il numero di passi è noto o determinabile |
7.7 Errori comuni
Nel ciclo while uno degli errori più frequenti è dimenticare l’aggiornamento della variabile di controllo,
provocando un ciclo infinito.
Molti principianti pensano che range(5) produca i valori da 1 a 5, ma in realtà genera
0, 1, 2, 3, 4.
7.8 Riepilogo
- l’iterazione permette di ripetere blocchi di istruzioni;
whileusa una condizione di continuazione;foritera su sequenze o intervalli;range()genera sequenze di interi;- la corretta gestione dei cicli è fondamentale per scrivere algoritmi efficienti.
7.9 Domande tipiche d’esame
- Che differenza c’è tra ciclo
whilee ciclofor? - Qual è il ruolo della funzione
range()? - Perché si può generare un ciclo infinito?
- Quando conviene usare un
whileinvece di unfor?
7.10 Esercizi
- Scrivi un programma che stampi i numeri da 1 a 10 con un ciclo
while. - Scrivi un programma che stampi i numeri pari da 2 a 20 con un ciclo
for. - Scrivi un programma che calcoli la somma dei numeri da 1 a 100.
Approfondimento ufficiale:
documentazione Python sul controllo del flusso e sui cicli