Le istruzioni iterative in Python

Le strutture iterative nel linguaggio python sono realizzabili con le istruzioni while e for. Queste istruzioni mi permettono di programmare l'esecuzione di un blocco di istruzioni in cicli con iterazioni condizionate o incondizionate.

L'istruzione while

L'istruzione while mi permette di creare un ciclo condizionato a un evento.

while [ condizione ] :
blocco istruzioni

Nel python il blocco di istruzioni non è delimitato da parentesi perché utilizza l'indentatura, ossia la presenza degli spazi in bianco lasciati prima delle istruzioni.

E' importante non dimenticarsi di digitare i due punti ( : ) immediatamente dopo l'espressione condizionale.

Un esempio pratico

Nel seguente codice chiedo all'utente di digitare un numero in input.

n=0
while n<10:
n=int(input('digita un numero maggiore o uguale a 10 '))

Se il numero è inferiore a 10, il programma chiede nuovamente all'utente di digitare un altro numero.

Una possibile iterazione input/output sullo schermo è la seguente:

digita un numero maggiore o uguale a 10 4
digita un numero maggiore o uguale a 10 7
digita un numero maggiore o uguale a 10 11

Nella prima e seconda iterazione ho digitato 4 e 7. Il ciclo si ripete perché sono numeri inferiori a 10.

Nella terza iterazione ho digitato 11 facendo venire meno la condizione dell'iterazione.

Nota. Secondo me, è consigliabile abituarsi a utilizzare l'istruzione While nella programmazione in Python, perché è universale e consente di realizzare sia cicli condizionati che incondizionati. Ecco un esempio pratico di ciclo incondizionato realizzato con l'istruzione while.
esempio di struttura iterativa incondizionata realizzata con l'istruzione while

L'istruzione for

L'istruzione for crea un ciclo incondizionato.

for [oggetto]:
blocco istruzioni

Nel linguaggio python l'istruzione for legge tutti gli elementi di un oggetto ( es. lista, tupla, ecc. ).

Per ogni elemento dell'oggetto l'istruzione for esegue un blocco di istruzioni.

Nota. Il blocco delle istruzioni non è delimitato da parentesi bensì dall'indentatura ossia dallo spazio in bianco lasciato all'inizio della riga per posizionarle dentro la struttura ciclica. Inoltre, bisogna ricordarsi di inserire il simbolo dei due punti (:) prima del blocco di istruzioni.

Spesso l'istruzione for è associata alla funzione range che crea un oggetto composto da N elementi.

Un esempio pratico

In questo codice visualizzo sullo schermo i numero da 1 a 9.

for i in range(1,10):
print(i)

La funzione range(1,10) crea un oggetto composto da nove elementi da 1 (incluso) a 10 (escluso).

L'istruzione for legge ogni elemento dell'oggetto ed esegue ogni volta il blocco delle istruzioni.

Dopo ogni ciclo l'istruzione incremente la variabile i.

Il risultato in output è il seguente:

1
2
3
4
5
6
7
8
9

Il ciclo si ripete per 9 volte e non è condizionato al verificarsi di un evento aleatorio.

Al decimo ciclo il programma esce dalla struttura iterativa e prosegue l'esecuzione delle istruzioni successive.

Break e continue

Nelle strutture iterative for e while del linguaggio python posso utilizzare due istruzioni di interruzione.

Break

L'istruzione break interrompe il ciclo.

L'esecuzione passa alla prima istruzione al di fuori del ciclo.

Un esempio pratico

for i in range(1,5):
if i==3: break
print(i)

L'output del programma è il seguente

1
2

Alla terza iterazione il ciclo si conclude con l'istruzione break.

Continue

L'istruzione continue interrompe l'iterazione corrente.

L'esecuzione passa all'iterazione successiva del ciclo.

Un esempio pratico

for i in range(1,5):
if i==3: break
print(i)

L'output del programma è il seguente

1
2
4

Alla terza iterazione il ciclo salta all'iterazione successiva con l'istruzione continue.



Per scrivere un commento

knowledge base

Le strutture cicliche in Python

Le interruzioni forzate