Ciclo for

Python SELF IT
Livello 4 , Lezione 2
Disponibile

8.1 Ciclo for

Il fatto di poter eseguire un gruppo di comandi condizionatamente è fantastico. Ma cosa succede se voglio eseguire un'azione 100 volte? Come faccio?

Per questo, in Python ci sono i cicli. E per il nostro compito è perfetto il ciclo for. La forma generale dell'operatore for è la seguente:

for variabile in elenco_valori:
    comando1
    comando1
    comandoN

Dove elenco_valori è un insieme di valori: lista, stringa, dizionario (di cui parleremo più avanti).

La variabile assume successivamente i valori di elenco_valori, e per ognuno di essi viene eseguito il blocco di comandi.

Esempio:

Esempio Spiegazione

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
1. Alla variabile fruit viene assegnato il valore "apple" e viene eseguito il comando print(fruit ) 2. Alla variabile fruit viene assegnato il valore "banana" e viene eseguito il comando print(fruit ) 3. Alla variabile fruit viene assegnato il valore "cherry" e viene eseguito il comando print(fruit )

Ecco come funziona il ciclo:

Se nell'elenco, dopo la parola in, ci sono 10 valori, allora il blocco di comandi verrà eseguito 10 volte.

Per ogni valore di elenco_valori accadono due cose:

  1. Alla variabile del ciclo (indicata dopo la parola for) viene assegnato il valore successivo da elenco_valori.
  2. Viene quindi eseguito il blocco di comandi.

Un altro esempio:

Esempio Spiegazione

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for x in numbers:
    print(x)
Il ciclo stamperà a schermo i numeri:
1
2
3
4
5
6
7
8
9
10

8.2 Definire un intervallo — range

Nell'ultimo esempio hai potuto vedere che stampare 10 numeri a schermo è molto semplice. Ma cosa succede se vogliamo eseguire il ciclo 100 volte? O 1000?

Ovviamente c'è una soluzione. In Python esiste una funzione range() per generare una sequenza di numeri, che in combinazione con il ciclo for rende potente il controllo dei compiti ripetitivi.

La funzione range() può essere utilizzata in diversi modi, a seconda del numero di argomenti passati ad essa.

Elementi di base di range():

Un argomento: range(n) genera una sequenza da 0 a n-1. È utile quando è necessario eseguire un'azione un numero specifico di volte.


for i in range(5):
    print(i)  # Stampa i numeri da 0 a 4

Due argomenti: range(start, stop) genera una sequenza da start a stop-1. È utile per iniziare l'iterazione da un numero specifico.


for i in range(1, 6):
    print(i)  # Stampa i numeri da 1 a 5 

Tre argomenti: range(start, stop, step) aggiunge un terzo argomento step, che determina il passo tra i numeri nella sequenza.


for i in range(0, 10, 2):
    print(i)  # Stampa i numeri pari da 0 a 8  

Cicli inversi: range() può generare numeri in ordine inverso, permettendo di eseguire iterazioni inverse.


for i in range(10, 0, -1):
    print(i)  # Stampa i numeri da 10 a 1 

La funzione range() combinata con il ciclo for offre un potente strumento per controllare le iterazioni in Python. Capire le sue capacità aiuta a creare cicli più efficienti e chiari, che sono parte integrante di qualsiasi programma.

8.3 Ciclo su lista

Se vuoi eseguire un gruppo di azioni su valori diversi, la funzione range() non è adatta, puoi sempre raggruppare questi valori in una lista utilizzando le parentesi quadre. L'aspetto generale di questa operazione è così:


for variabile in [val1, val2, …, valN]:
    comando1
    comando1
    comandoN

Basta elencare i valori separati da virgole, e il ciclo verrà eseguito per ciascuno di essi, mentre la variabile assumerà successivamente ogni valore. Esempio:

Esempio Spiegazione

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
                    
Il ciclo stamperà a schermo le stringhe:
apple
banana
cherry

Puoi specificare numeri nell'elenco, anche subito nel ciclo dopo la parola in:

Esempio Spiegazione

for price in [0.99, 2.75, 0.25]:
    print(price)
Il ciclo stamperà a schermo i numeri:
0.99
2.75
0.25

In una lista puoi elencare oggetti di qualsiasi tipo:

Esempio Spiegazione

for data in [0.99, "apple", -1, True]:
    print(data)
                
Il ciclo stamperà a schermo le stringhe:
0.99
apple
-1
True
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION