Cicli For In Python
Cicli For in Python¶
Obiettivi della Lezione¶
Al termine di questa lezione, sarai in grado di:
- Comprendere il funzionamento dei cicli
for
in Python. - Utilizzare i cicli
for
per iterare su diverse strutture dati come liste, tuple, stringhe e dizionari. - Implementare cicli annidati e utilizzare la funzione
range()
. - Applicare i cicli
for
in situazioni pratiche per automatizzare operazioni ripetitive.
Introduzione¶
I cicli sono fondamentali nella programmazione in quanto permettono di eseguire ripetutamente un blocco di codice finché una condizione è vera o per ogni elemento di una sequenza. In Python, il ciclo for
è uno strumento potente e flessibile che consente di iterare su qualsiasi oggetto iterabile, come liste, stringhe o range di numeri. Questa lezione esplorerà in dettaglio come utilizzare i cicli for
per rendere il tuo codice più efficiente e pulito.
Spiegazione Teorica¶
Concetto di Iterazione¶
L’iterazione è il processo di ripetizione di un insieme di istruzioni fino al raggiungimento di una condizione specifica o per ogni elemento di una sequenza. In Python, il ciclo for
viene utilizzato per iterare su oggetti iterabili, eseguendo un blocco di codice per ogni elemento nell’oggetto.
Sintassi del Ciclo For¶
La sintassi di base di un ciclo for
in Python è:
for variabile in sequenza:
# blocco di codice
variabile
: una variabile temporanea che assume il valore di ogni elemento nella sequenza durante l’iterazione.sequenza
: un oggetto iterabile come una lista, una stringa, una tupla, un dizionario o un range.blocco di codice
: il codice che viene eseguito ad ogni iterazione del ciclo.
La Funzione range()
¶
La funzione range()
genera una sequenza di numeri e viene comunemente utilizzata con i cicli for
. La sua sintassi è:
range(stop)
range(start, stop)
range(start, stop, step)
start
: inizio della sequenza (incluso, default è 0).stop
: fine della sequenza (escluso).step
: incremento (default è 1).
Esempi Pratici di Codice¶
Iterazione su una Lista¶
frutti = ['mela', 'banana', 'ciliegia']
for frutto in frutti:
print(frutto)
mela banana ciliegia
Spiegazione: Il ciclo itera su ogni elemento della lista frutti
, assegnando a frutto
il valore dell’elemento corrente e stampandolo.
Output:
mela
banana
ciliegia
Utilizzo di range()
¶
for numero in range(5):
print(numero)
0 1 2 3 4
Spiegazione: range(5)
genera una sequenza di numeri da 0 a 4. Il ciclo stampa ogni numero nella sequenza.
Iterazione su una Stringa¶
for carattere in "Python":
print(carattere)
P y t h o n
Spiegazione: Il ciclo itera su ogni carattere della stringa “Python”.
Utilizzo di range()
con start
e step
¶
for numero in range(2, 10, 2):
print(numero)
2 4 6 8
Spiegazione: range(2, 10, 2)
genera numeri da 2 a 9 con un incremento di 2.
Cicli Annidati¶
colori = ['rosso', 'verde', 'blu']
oggetti = ['penna', 'tazza', 'libro']
for colore in colori:
for oggetto in oggetti:
print(colore, oggetto)
rosso penna rosso tazza rosso libro verde penna verde tazza verde libro blu penna blu tazza blu libro
Spiegazione: Il ciclo esterno itera su colori
, mentre il ciclo interno itera su oggetti
, creando tutte le combinazioni possibili.
Utilizzo di else
nei Cicli For¶
for numero in range(5):
print(numero)
else:
print("Ciclo completato!")
0 1 2 3 4 Ciclo completato!
Spiegazione: Il blocco else
viene eseguito una volta terminato il ciclo.
Interruzione del Ciclo con break
¶
for numero in range(10):
if numero == 5:
break
print(numero)
0 1 2 3 4
Spiegazione: Il ciclo si interrompe quando numero
è uguale a 5.
Salto di Iterazione con continue
¶
for numero in range(5):
if numero == 3:
continue
print(numero)
0 1 2 4
N = int(input("Inserisci un numero intero positivo: "))
somma = 0
for numero in range(1, N+1):
somma += numero
print("La somma dei numeri da 1 a", N, "è:", somma)
Inserisci un numero intero positivo: 99 La somma dei numeri da 1 a 99 è: 4950
Esercizio 2: Tabelline¶
Chiedi all’utente un numero intero e stampa la sua tabellina fino a 10.
Soluzione:
numero = int(input("Inserisci un numero intero: "))
print("Tabellina del", numero)
for i in range(1, 11):
prodotto = numero * i
print(numero, "x", i, "=", prodotto)
Inserisci un numero intero: 7 Tabellina del 7 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 7 x 10 = 70
Esercizio 3: Contare le Vocali in una Stringa¶
Chiedi all’utente una stringa e conta il numero di vocali presenti.
Soluzione:
testo = input("Inserisci una stringa: ").lower()
vocali = 'aeiou'
contatore = 0
for carattere in testo:
if carattere in vocali:
contatore += 1
print("Numero di vocali:", contatore)
Inserisci una stringa: Python è incredibilmente bello! Numero di vocali: 9
Buone Pratiche e Consigli¶
- Nomi delle Variabili Significativi: Usa nomi di variabili che descrivono il contenuto, come
frutto
infor frutto in frutti
. - Evitare Modifiche Durante l’Iterazione: Non modificare la sequenza su cui stai iterando durante il ciclo, può causare comportamenti imprevisti.
Utilizzo di
enumerate()
: Per ottenere sia l’indice che l’elemento durante l’iterazione, utilizzaenumerate()
.frutti = ['mela', 'banana', 'ciliegia'] for indice, frutto in enumerate(frutti): print(indice, frutto)
Comprensioni di Lista: Per operazioni semplici, considera l’uso delle comprensioni di lista per rendere il codice più compatto.
quadrati = [numero**2 for numero in range(10)]
Conclusione¶
I cicli for
sono uno strumento essenziale in Python, permettendo di iterare in modo efficiente su strutture dati e automatizzare compiti ripetitivi. Comprendere come utilizzarli correttamente migliorerà significativamente le tue abilità di programmazione, rendendo il tuo codice più pulito e performante.
Risorse Aggiuntive¶
- Documentazione Ufficiale Python: For Statements
- Libro Consigliato: Python Crash Course di Eric Matthes
- Video Tutorial: Loops and Iterations – For/While Loops