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 _ in range(n):
istr_1
istr_2
...
Il blocco di istruzioni, controllato dal for, viene eseguito n volte
Si può utilizzare l’indice i, che assume i valori 0, 1, 2, …, n-1, se necessario
for i in range(n):
istr_1
istr_2
...
Con intervallo
Utilizza, elabora, i numeri naturali generati dalla funzione range(…)
for num 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
- START: a partire da …
- STOP: fino a … escluso
- STEP: con passo …
- la variabile num 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 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ò essere una qualsiasi tra quelle definite nei numerosi moduli nativi e di terze pari