Development · Python

Corso Python — Lezione 4: Cicli for e while

Corso Python — Lezione 4: Cicli for e while — NBcorsi
Corso Python Lezione 4 di 10Livello base7 min lettura

I cicli permettono di ripetere un blocco di codice più volte — senza riscriverlo. In Python esistono due tipi: il ciclo for, usato per iterare su sequenze, e il ciclo while, che continua finché una condizione è vera.

Obiettivi di questa lezione
Usare il ciclo for per iterare su sequenze e range
Usare il ciclo while con condizioni
Controllare i cicli con break e continue
Usare enumerate() e zip()
Evitare i loop infiniti

Il ciclo for

Il ciclo for itera su ogni elemento di una sequenza — una lista, una stringa, un range di numeri. Per ogni elemento esegue il blocco di codice indentato.

# Iterare su una lista
linguaggi = ["Python", "Java", "JavaScript"]
for lang in linguaggi:
    print(f"Imparo {lang}")

# Output:
# Imparo Python
# Imparo Java
# Imparo JavaScript

# Iterare su una stringa (carattere per carattere)
for lettera in "Python":
    print(lettera, end="-")
# Output: P-y-t-h-o-n-

La funzione range()

Quando hai bisogno di ripetere qualcosa un numero preciso di volte, usi range() che genera una sequenza di numeri interi.

# range(stop) — da 0 a stop-1
for i in range(5):
    print(i)          # 0, 1, 2, 3, 4

# range(start, stop) — da start a stop-1
for i in range(1, 6):
    print(i)          # 1, 2, 3, 4, 5

# range(start, stop, step) — con passo
for i in range(0, 20, 5):
    print(i)          # 0, 5, 10, 15

# Contare al contrario
for i in range(10, 0, -1):
    print(i)          # 10, 9, 8 ... 1
Come funziona range(1, 6) 1 2 3 4 5 i=1 i=2 i=3 i=4 i=5 range(1, 6) genera: 1, 2, 3, 4, 5 — il valore 6 è escluso

Il ciclo while

Il ciclo while continua a eseguire il blocco finché la condizione è vera. È utile quando non sai in anticipo quante volte devi ripetere.

# Conto alla rovescia
contatore = 5
while contatore > 0:
    print(f"{contatore}...")
    contatore -= 1     # equivale a: contatore = contatore - 1
print("Via!")

# Indovina il numero
numero = 42
tentativo = 0
while tentativo != numero:
    tentativo = int(input("Indovina: "))
print("Bravo!")
Attenzione ai loop infiniti! Se la condizione del while non diventa mai False, il programma non si ferma mai. Assicurati sempre che il ciclo abbia una via d’uscita — che la variabile di controllo venga modificata dentro il ciclo.

break e continue

# break — esce immediatamente dal ciclo
for i in range(10):
    if i == 5:
        break         # esce quando i vale 5
    print(i)          # stampa 0, 1, 2, 3, 4

# continue — salta all'iterazione successiva
for i in range(10):
    if i % 2 == 0:
        continue      # salta i pari
    print(i)          # stampa 1, 3, 5, 7, 9

enumerate() e zip()

# enumerate() — indice + valore
linguaggi = ["Python", "Java", "JavaScript"]
for i, lang in enumerate(linguaggi, 1):
    print(f"{i}. {lang}")
# 1. Python  2. Java  3. JavaScript

# zip() — itera su due liste in parallelo
nomi  = ["Marco", "Sara", "Luca"]
voti  = [8, 9, 7]
for nome, voto in zip(nomi, voti):
    print(f"{nome}: {voto}")
for vs while: usa for quando sai quante iterazioni fare o devi scorrere una sequenza. Usa while quando continui finché una condizione cambia — es. input utente, lettura file, attesa di un evento.
Esercizio pratico
Scrivi un programma che stampa la tavola pitagorica da 1 a 10 usando due cicli for annidati. Il risultato deve essere formattato in colonne allineate usando le f-string.
pythoncicliforwhilecorso pythondevelopmentbase
Lezione 4/10 · ~650 parole · 7 min lettura · area: development · livello: base
Nicodemo Bonofiglio

Ingegnere Informatico con oltre 20 anni di esperienza in ambito ERP, banking e PA. Analista funzionale, appassionato di AI e sviluppo web. Fondatore di NBcorsi — guide IT pratiche in italiano.

Vedi tutti gli articoli →
0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest
0 Commenti
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti