Loop
In Python esistono due tipi di cicli: i cicli for ed i cicli while. Un ciclo for può essere usato per iterare su una sequenza, come un elenco o una stringa. Un ciclo while continuerà a essere eseguito fino a quando una certa condizione sarà soddisfatta.
Entrambi i tipi di loop possono essere utilizzati per eseguire operazioni ripetitive, come l'iterazione di un elenco e l'esecuzione di un'azione su ciascun elemento o l'esecuzione di una serie di comandi finché non viene soddisfatto un determinato criterio.
La capacità di utilizzare i cicli in modo efficace è essenziale per qualsiasi programmatore e li rende uno strumento prezioso nel processo di sviluppo.
Tuttavia, è importante assicurarsi che i cicli siano strutturati correttamente e che non vengano eseguiti all'infinito, in quanto possono causare errori e rallentare il programma.
In generale, imparare a utilizzare i loop nel codice può semplificare e snellire notevolmente il flusso di lavoro.
Un loop è un modo per ripetere più volte un insieme di linee di codice.
Loop for
Il cliclo for può essere usato per iterare una lista di elementi ed eseguire una serie di azioni su ogni elemento.
La sintassi di un for loop consiste nell'assegnare un valore temporaneo ad una variabile ad ogni iterazione successiva.
for <valore temporaneo> in <una lista>.
Quando si scrive un ciclo for, ricordati di far indentare correttamente ogni azione, altrimenti si presenterà un IndentationError.
for <variabile temporanea> in <lista>:
<fai questo>
<...e quello>
numeri = [1,2,3,4,5]
for numero in numeri:
print(numero)
Puoi esercitarti svolgendo esercizi for loop disponibili su questo sito.
range()
In Python, un for loop può essere usato per eseguire un'azione un numero specifico di volte consecutive.
La funzione range() può essere usata per creare una lista che può essere usata per specificare il numero di iterazioni di un ciclo for.
for i in range(3):
print(i)
for i in range(3):
print("Stampa")
Loop nidificati
In Python, i loop possono essere annidati all'interno di altri loop.
I loop nidificati possono essere utilizzati per accedere ad elementi di liste che si trovano all'interno di altre liste.
gruppi = [["Jobs", "Gates"], ["Newton", "Euclid"], ["Einstein", "Feynman"]]
# Questo ciclo esterno itera su ogni lista nella lista gruppi
for gruppo in gruppi:
# Questo ciclo interno procederà attraverso ogni nome in ogni lista
for nome in gruppo:
print(nome)
List Comprehension
La list comprehension di Python fornisce un modo conciso per creare liste.
Consiste in parentesi quadre contenenti un'espressione seguita da una istruzione for, poi zero o più istruzioni for o if:
[ESPRESSIONE for ELEMENTO in LISTA <if CONDIZIONE>].
Le espressioni possono essere qualsiasi cosa, qualsiasi tipo di oggetto può entrare in una lista.
La list comprehension restituisce sempre una lista.
# List comprehension per i quadrati di tutti i numeri pari tra 0 e 9
risultato = [x**2 for x in range(10) if x % 2 == 0]
print (risultato)
[0, 4, 16, 36, 64]
Break e continue
In un loop, la parola chiave break fa uscire dal loop, indipendentemente dal numero di iterazione.
Una volta che la parola chiave break viene eseguita, il programma continuerà ad essere eseguito dopo il ciclo for.
La parola chiave continue viene utilizzata all'interno di un loop per saltare una parte di codice rimanente all'interno del blocco di codice del loop e iniziare la successiva iterazione del loop.
numeri = [0, 34, 55, -1, 33, 21]
for num in numeri:
if (num < 0):
print ("Numero negativo presente")
break
print (num)
# Stampa solo numeri positivi
for i in numeri:
if i < 0:
continue
print (i)
Loop while
In Python, un while loop eseguirà ripetutamente un blocco di codice fintanto che una condizione sarà True.
La condizione di un while loop viene sempre controllata prima che il blocco di codice, indentato nel ciclo while, venga eseguito.
Se la condizione non è soddisfatta inizialmente, allora il blocco di codice non verrà mai eseguito.
i = 1
while i < 6:
print (i)
i = i + 1
Puoi fare pratica con il while facendo questi esercizi.
Cicli infiniti
Un loop infinito è un loop che non termina mai.
I loop infiniti avvengono quando le condizioni del loop ne impediscono la fine.
Ciò potrebbe essere dovuto ad un errore di battitura nella dichiarazione condizionale all'interno del loop o ad una logica errata.
Per interrompere un programma Python che è in esecuzione in modo infinito, premere i tasti della tastiera Ctrl e c contemporaneamente.
i = 1
while i < 6:
print (i)