lettura facile

L'istruzione for in Python

L'istruzione for in Python esegue un ciclo che ti permette di iterare su una sequenza o il contenuto di un oggetto iterabile (es. lista, dizionario, set, stringa, ecc.)

Ecco la sintassi di base di un ciclo for in Python:

  1. for variabile in sequenza:
  2. # blocco di codice da eseguire per ogni elemento

Dove la "variabile" è la variabile che assume il valore dell'elemento corrente ad ogni iterazione.

La "sequenza" è invece la sequenza o l'oggetto iterabile su cui vuoi iterare.

Ricorda che in un'istruzione for il blocco codice che deve essere eseguito in ogni iterazione del ciclo deve essere indentato. Questo significa che deve essere spostato più a destra rispetto alla riga dell'istruzione for. Se questo concetto non è chiaro, leggi la lezione sull'indentazione, poi prosegui la lettura di questo tutorial.

Un esempio pratico

Ecco un esempio di utilizzo del ciclo for.

Questo ciclo stampa tutti gli elementi di una lista:

  1. lista = [1, 2, 3, 4, 5]
  2. for numero in lista:
  3. print(numero)

Questo codice stampa sullo schermo il contenuto della lista.

1
2
3
4
5

Quando utilizzi l'istruzione for è molto utile la funzione range() che ti permette di generare una sequenza di numeri.

Ad esempio, se vuoi generare un ciclo con cinque iterazioni puoi generare una sequenza tramite la funzione range(5)

  1. for i in range(5):
  2. print(i)

Python esegue per cinque volte il codice indentato nell'istruzione for.

In questo caso il blocco è composto dalla sola istruzione print(i)

Pertanto, questo codice stampa sullo schermo i numeri da 0 a 4.

0
1
2
3
4

Fai attenzione a un aspetto. La funzione range(5) genera una sequenza di numeri da 0 a 4, non fino a 5.

Questo perché range() inizia da 0 per impostazione predefinita e si ferma un numero prima del valore specificato.

L'istruzione continue

Quando Python incontra l'istruzione continue, interrompe l'esecuzione del blocco di codice corrente e "continua" con la prossima iterazione del ciclo.

Ecco un esempio pratico.

  1. for i in range(5):
  2. if i == 3:
  3. continue
  4. print(i)

In questo esempio, il ciclo for itera sui numeri da 0 a 4.

Tuttavia, quando il numero corrente è i=3, l'istruzione continue viene eseguita, il che fa sì che Python salti il resto del codice nel ciclo (in questo caso, l'istruzione print(i)) e passi direttamente al numero successivo.

Quindi, l'output di questo codice è il seguente

0
1
2
4

Come puoi vedere, il numero 3 non viene stampato perché quando la variabile "i" è uguale a 3, l'istruzione continue interrompe l'iterazione prima dell'istruzione print(i) e comincia l'iterazione successiva.

L'istruzione break

Quando l'istruzione break viene eseguita, Python termina l'iterazione corrente ed esce dal ciclo.

In questo caso il programma prosegue l'esecuzione sull'istruzione immediatamente successiva al ciclo.

Ecco un esempio pratico.

  1. for i in range(5):
  2. if i == 3:
  3. break
  4. print(i)

In questo esempio, il ciclo for inizia a iterare su una serie di numeri da 0 a 4 generati dalla funzione range(5).

Tuttavia, all'interno del ciclo, c'è un'istruzione if che controlla se il valore corrente di i è uguale a 3. Se lo è, l'istruzione break viene eseguita e il ciclo viene interrotto.

Quindi, l'output di questo programma è il seguente:

0
1
2

Come puoi vedere, nonostante il ciclo for fosse impostato per iterare da 0 a 4, l'iterazione si è interrotta quando la variabile "i" è diventata 3 a causa dell'istruzione break.

L'istruzione else

In un ciclo for puoi utilizzare anche l'istruzione else.

Il blocco di codice all'interno della clausola "else" viene eseguito una sola volta quando il ciclo "for" ha terminato di iterare sulla sequenza o sull'oggetto iterabile.

Ecco un esempio pratico di utilizzo.

  1. for i in range(5):
  2. print(i)
  3. else:
  4. print("Il ciclo è finito")

In questo esempio, la struttura ciclica stampa i numeri da 0 a 4 tramite il ciclo "for".

Al termine dell'ultima iterazione viene eseguita l'istruzione else e stampata la frase "Il ciclo è finito".

0
1
2
3
4
Il ciclo è finito

Il blocco di codice all'interno della clausola "else" non viene eseguito se il ciclo "for" viene interrotto da un'istruzione "break".

Ecco un altro esempio.

  1. for i in range(5):
  2. if i == 3:
  3. break
  4. print(i)
  5. else:
  6. print("Il ciclo è finito")

Il ciclo stampa i numeri da 0 a 2 poi l'istruzione "break" interrompe il ciclo quando la variabile "i" diventa 3.

0
1
2

In questo caso l'istruzione else non viene eseguita e la frase "Il ciclo è finito" non viene stampata.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin