Python Cicli For e While: Enumera, Interrompi, Continua
Cos'è Loop?
I cicli possono eseguire un blocco di codice un numero di volte fino a quando non viene soddisfatta una determinata condizione. Il loro utilizzo è abbastanza comune nella programmazione. A differenza di altri linguaggi di programmazione che hanno For Loop, while loop, do while, ecc.
Cos'è For Loop?
Il ciclo For viene utilizzato per scorrere gli elementi di una sequenza. Viene spesso utilizzato quando si dispone di un pezzo di codice che si desidera ripetere un numero "n" di volte.
Cos'è il ciclo While?
Mentre Loop viene utilizzato per ripetere un blocco di codice. Invece di eseguire il blocco di codice una volta, lo esegue più volte finché non viene soddisfatta una determinata condizione.
Come utilizzare “While Loop”
Mentre il loop fa esattamente la stessa cosa di "if", ma invece di eseguire il blocco di codice una volta, torna al punto in cui ha iniziato il codice e ripete nuovamente l'intero processo.
Sintassi
while expression Statement
Esempio:
# #Example file for working with loops # x=0 #define a while loop while(x <4): print(x) x = x+1
Uscita prevista:
0 1 2 3
- Riga di codice 4: la variabile x è impostata su 0
- Riga di codice 7: il ciclo while verifica la condizione x<4. Il valore corrente di x è 0. La condizione è vera. Il flusso di controllo entra in while Loop
- Riga codice 8: viene stampato il valore di x
- Riga di codice 9: x viene incrementato di 1. Il flusso di controllo ritorna alla riga 7. Ora il valore di x è 1 che è inferiore a 4. La condizione è vera e di nuovo viene eseguito il ciclo while. Ciò continua finché x diventa 4 e la condizione while diventa falsa.
Come utilizzare “For Loop”
In Python, vengono chiamati i “cicli for”. iteratori.
Proprio come il ciclo while, anche “For Loop” viene utilizzato per ripetere il programma.
Ma a differenza del ciclo while che dipende dalla condizione vera o falsa. "For Loop" dipende dagli elementi che deve iterare.
Esempio:
# #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print(x)
Uscita prevista:
2 3 4 5 6
For Loop esegue l'iterazione con il numero dichiarato nell'intervallo.
Per esempio,
Per Loop per x nell'intervallo (2,7)
Quando questo codice viene eseguito, stamperà il numero compreso tra 2 e 7 (2,3,4,5,6). In questo codice il numero 7 non è considerato all'interno dell'intervallo.
For Loops può essere utilizzato anche per una serie di altre cose e non solo per i numeri. Vedremo il sottile nella prossima sezione.
Come utilizzare For Loop per String
In questo passaggio vedremo come i “cicli for” possono essere utilizzati anche per altre cose oltre ai numeri.
Esempio:
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print(m)
Uscita prevista:
Jan Feb Mar April May June
Riga di codice 3: memorizziamo i mesi ("Gennaio, febbraio, marzo, aprile, maggio, giugno") in Mesi variabili
Riga di codice 4: iteriamo il ciclo for su ciascun valore in Mesi. Il valore corrente di Mesi è memorizzato nella variabile m
Riga codice 5: stampa il mese
Come utilizzare le istruzioni break nel ciclo For
Breakpoint è una funzione unica in For Loop che ti consente di interrompere o terminare l'esecuzione del ciclo for
Esempio:
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print(x)
Uscita prevista:
10 11 12 13 14
In questo esempio, abbiamo dichiarato i numeri da 10 a 20, ma vogliamo che il nostro ciclo for termini al numero 15 e interrompa ulteriormente l'esecuzione. Per questo, dichiariamo la funzione break definendo (x==15): break, così non appena il codice chiama il numero 15 termina il programma Code Line 10 dichiara la variabile x nell'intervallo (10, 20)
- La riga di codice 11 dichiara la condizione per il punto di interruzione in x==15,
- La riga di codice 12 controlla e ripete i passaggi fino a raggiungere il numero 15
- Code Line 13 Stampa il risultato in output
Come utilizzare l'istruzione "continua" nel ciclo For
La funzione Continue, come indica il nome, terminerà l'iterazione corrente del ciclo for MA continuerà l'esecuzione delle iterazioni rimanenti.
Esempio
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print(x)
Uscita prevista:
11 12 13 14 16 17 18 19
L'istruzione Continue può essere utilizzata nel ciclo for quando si desidera recuperare un valore specifico dall'elenco.
Nel nostro esempio abbiamo dichiarato il valore 10-20, ma tra questi numeri vogliamo solo quelli che NON sono divisibili per 5 o cioè che non danno zero quando divisi per 5.
Quindi, nel nostro intervallo (10,11, 12….19,20) rientrano solo 3 numeri (10,15,20) che sono divisibili per 5 e gli altri no.
Quindi, ad eccezione dei numeri 10,15 e 20, il “ciclo for” non continuerà e stamperà quei numeri come output.
- La riga di codice 10 dichiara la variabile x per l'intervallo (10, 20)
- La riga di codice 12 dichiara la condizione per x diviso per 5=0 continua
- La riga di codice 13 stampa il risultato
Che cosa è enumerate() in Python?
enumerate() IN PYTHON è una funzione integrata utilizzata per assegnare un indice a ciascun elemento dell'oggetto iterabile. Aggiunge un ciclo sugli oggetti iterabili tenendo traccia dell'elemento corrente e restituisce l'oggetto in una forma enumerabile. Questo oggetto può essere utilizzato in un ciclo for per convertirlo in un elenco utilizzando il metodo list().
Esempio:
Enumerare la funzione viene utilizzato per numerare o indicizzare i membri dell'elenco.
Supponiamo di voler eseguire la numerazione per il nostro mese (gennaio, febbraio, marzo, ....giugno), quindi dichiariamo la variabile i che enumera i numeri mentre m stamperà il numero del mese nell'elenco.
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print(i,m) # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Uscita prevista:
0 Jan 1 Feb 2 Mar 3 April 4 May 5 June
Quando il codice viene eseguito, l'output della funzione enumera restituisce il nome del mese con un numero di indice come (0-gen), (1-feb), (2-marzo), ecc.
- La riga di codice 3 dichiara l'elenco dei mesi [gen, feb,…giu]
- La riga di codice 4 dichiara le variabili i e m per il ciclo For
- La riga di codice 5 stamperà il risultato e inserirà nuovamente il ciclo For per enumerare il resto dei mesi
Esempio pratico
Vediamo un altro esempio di For Loop per ripetere la stessa istruzione più e più volte.
Python loop | Codice di lavoro per tutti gli esercizi |
---|---|
Codice per il ciclo while |
x=0 while (x<4): print (x) x= x+1 |
Esempio semplice per il ciclo |
x=0 for x in range (2,7): print (x) |
Utilizzo del ciclo for in una stringa |
Months = ["Jan","Feb","Mar","April","May","June"] for m in (Months): print (m) |
Utilizzare l'istruzione break nel ciclo for |
for x in range (10,20): if (x == 15): break print (x) |
Utilizzo dell'istruzione Continue nel ciclo for |
for x in range (10,20): if (x % 5 == 0): continue print (x) |
Codice per "enumerare funzione" con "ciclo for" |
Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print (i,m) |
Come utilizzare il ciclo for per ripetere la stessa istruzione più e più volte
Puoi usare il ciclo for anche per ripetere la stessa istruzione più e più volte. Qui nell'esempio abbiamo stampato la parola "guru99" tre volte.
Esempio: per ripetere la stessa istruzione un numero di volte, abbiamo dichiarato il numero nella variabile i (i in 123). Quindi, quando esegui il codice come mostrato di seguito, stampa l'istruzione (guru99) che molte volte il numero dichiarato per la nostra variabile in ( i in 123).
for i in '123': print ("guru99",i,)
Uscita prevista:
guru99 1 guru99 2 guru99 3
Come altri linguaggi di programmazione, Python utilizza anch'esso un ciclo ma invece di utilizzare una serie di cicli diversi è limitato a soli due cicli “ciclo While” e “ciclo for”.
- I cicli While vengono eseguiti in base al fatto che l'istruzione condizionale sia vera o falsa.
- I cicli For sono chiamati iteratori, iterano l'elemento in base alla condizione impostata
- Python I cicli for possono essere utilizzati anche per una serie di altre cose (specificando la raccolta di elementi su cui vogliamo eseguire il ciclo)
- Il punto di interruzione viene utilizzato nel Ciclo For per interrompere o terminare il programma in un punto particolare
- L'istruzione Continue continuerà a stampare l'istruzione e stamperà il risultato secondo la condizione impostata
- La funzione enumera in "ciclo for" restituisce il membro della raccolta che stiamo esaminando con il numero di indice
Python 2 Esempio
I codici sopra riportati sono Python 3 esempi, se vuoi correre Python 2 Si prega di considerare il seguente codice.
# How to use "While Loop" #Example file for working with loops # x=0 #define a while loop while(x <4): print x x = x+1 #How to use "For Loop" #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print x #How to use For Loop for String #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print m #How to use break statements in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print x #How to use "continue statement" in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print x #How to use "enumerate" function for "For Loop" #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print i,m # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Produzione:
0 1 2 3 2 3 4 5 6 Jan Feb Mar April May June 10 11 12 13 14 11 12 13 14 16 17 18 19 0 Jan 1 Feb 2 Mar 3 April 4 May 5 June