Il ciclo for in Python consente di eseguire delle operazioni cicliche un certo numero di volte. In questa lezione realizziamo degli esercizi con il ciclo for, al fine di consolidare quanto studiato finora.

Riprendiamo a questo scopo un esercizio in cui abbiamo utilizzato il while, in modo da poter comparare i due metodi. L’esercizio è visionabile a questo link: esempio ciclo while in Python.

Esercizio 1 con il ciclo for in Python

Dati in input 10 numeri interi, contare quanti numeri pari e quanti dispari sono stati inseriti.

Innanzitutto inizializzo le variabili contap e contad a zero.

Poi utilizziamo semplicemente un ciclo for con il range (10).

Come potete notare non occorre inizializzare i a 0 come facevamo nel while, in quanto l’indice i parte comunque da zero, se non specificato diversamente nella funzione range().

Banner Pubblicitario

Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!

corsi Python

All’interno del ciclo inserisco i valori e per ogni valore inserito controllo se pari o dispari. Utilizzo le due variabili precedentemente inizializzate a zero per fare questo conteggio.

Infine, con il ciclo for, visualizzo i valori delle due variabili.

Ecco dunque il codice completo del nostro semplice programma, che utilizza il ciclo for in Python:

contap = contad = 0

for i in range(10):
    n = int(input('Inserisci un numero: '))
    if n % 2 == 0:
        contap += 1
    else:
        contad += 1

print('I numeri pari inseriti sono:', contap)
print('I numeri dispari inseriti sono:', contad)

In genere quando si conosce il numero di cicli da fare si preferisce utilizzare il ciclo for.


Esercizio 2

Anche questa volta riprendiamo un esercizio fatto con il while e lo svolgeremo con il ciclo for in Python, al fine di poter paragonare ancora questi due costrutti.

Prendere in input 15 numeri interi e calcolare la media.

Banner pubblicitario

Innanzitutto inizializzo n a 15.

Semplicemente perché in questo modo, se devo ad esempio inserire un numero diverso da 15, basta cambiare la costante e non occorre cambiare nessun altro dato nel codice.

Poi con un ciclo for chiedo i numeri e li memorizzo in una variabile media che inizializzo a 0.

Posso dunque risolvere l’algoritmo in questo modo utilizzando il ciclo for in Python:

media = 0
n = 15

for i in range(n):
    a = int(input('Inserisci un numero: '))
    media += a

media /= n
print('La media è:', media)

N.B. Utilizzo la variabile media per la somma e anche per la media, ma potrei anche utilizzare due variabili distinte qualora ci fosse la necessità di visualizzare anche la somma.

Conclusioni

In questa lezione abbiamo fatto due esempi sul ciclo for in Python. Ecco alcune osservazioni:

  1. Chiarezza e semplicità del codice: Entrambi gli esempi mostrano come il ciclo for possa rendere il codice più chiaro e semplice da comprendere rispetto al ciclo while, specialmente quando si tratta di iterazioni definite come nel primo esercizio.
  2. Flessibilità e adattabilità: Nel secondo esercizio, si evidenzia la flessibilità del ciclo for nell’adattarsi a un numero variabile di iterazioni, rendendolo ideale per casi in cui il numero di iterazioni non è fisso.
  3. Utilizzo efficiente delle variabili: Abbiamo mostrato come utilizzare un numero minimo di variabili per gestire i calcoli necessari, come nel caso dell’utilizzo della variabile media sia per la somma dei numeri che per calcolare la media.

In conclusione, l’utilizzo del ciclo for in Python offre una sintassi chiara e concisa per eseguire operazioni cicliche quando il numero di iterazioni è noto a priori, contribuendo così a una maggiore leggibilità e manutenibilità del codice.

Nella prossima lezione proporrò ancora degli esercizi sul ciclo for in Python e palerò delle istruzioni break e continue.

Alcuni link utili

Corso in diretta su Python

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Modulo math

12 – Operatori di confronto e booleani

13 – If else

14 – If elif else

15 – If annidati