Il ciclo for di Python si utilizza per 3 scopi
- con conteggio, tramite range()
- elaborando i numeri naturali di un intervallo, generato con range()
- con iteratore, su una struttura dati esistente
Con conteggio
Ripete l’esecuzione di un blocco di istruzioni, un certo numero di volte
for i in range(n):
istr_1
istr_2
...
Osserva
- La variabile i assume i valori generati da range(n): 0, 1, 2, …, n-1
- Il blocco sottostante viene eseguito n (…) volte
Con intervallo
Elabora i numeri naturali generati tramite la funzione range(…)
for numero in range(START, STOP, STEP):
istr_1
istr_2
...
Osserva
- Sfrutta tutte le potenzialità della funzione range(…) per generare una certa sequenza di numeri naturali
- a partire da …
- fino a … escluso
- con passo …
- la variabile numero assume uno dopo l’altro i valori della sequenza
- i valori vengono elaborati nel blocco sottostante
Con iteratore
Scorre gli elementi di una struttura dati (si dice che utilizza un iteratore)
STRUTTURA_DATI = ___
for x in STRUTTURA_DATI:
istr_1
istr_2
...
Estrae un elemento dalla STRUTTURA_DATI e lo assegna alla variabile x.
Esegue il blocco di codice sottostante.
Ripete per ognuno degli elementi della STRUTTURA_DATI.
La struttura dati è un oggetto a scelta tra quelli iterabili di Python
Struttura dati | x | ||
---|---|---|---|
dict() | Dizionario | {0:10, 2:20, 3:30, 7:40} | 0 2 3 7 |
list() | Lista | [0, 2, 3, 7] | 0 2 3 7 |
range() | Intervallo | range(5) | 0 1 2 3 4 |
set() | Insieme | {0, 2, 3, 7} | 0 2 3 7 |
str() | Stringa | "0237" | "0" "2" "3" "7" |
tuple() | Tupla | (0, 2, 3, 7) | 0 2 3 7 |
La struttura dati può contenere stringhe, numeri, colori, date, orari, …, oggetti di qualsiasi tipo.