Iterazione e cicli Python

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 while e ciclo for;
  • 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.

💡 Idea chiave

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

⚠️ Errore concettuale comune

Nel ciclo while uno degli errori più frequenti è dimenticare l’aggiornamento della variabile di controllo,
provocando un ciclo infinito.

⚠️ Altro errore frequente

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;
  • while usa una condizione di continuazione;
  • for itera 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

  1. Che differenza c’è tra ciclo while e ciclo for?
  2. Qual è il ruolo della funzione range()?
  3. Perché si può generare un ciclo infinito?
  4. Quando conviene usare un while invece di un for?

7.10 Esercizi

  1. Scrivi un programma che stampi i numeri da 1 a 10 con un ciclo while.
  2. Scrivi un programma che stampi i numeri pari da 2 a 20 con un ciclo for.
  3. Scrivi un programma che calcoli la somma dei numeri da 1 a 100.

Approfondimento ufficiale:

documentazione Python sul controllo del flusso e sui cicli


⬅️ Capitolo precedente
Capitolo successivo in preparazione ➡️

Articoli simili