Dichiarazioni di istruzioni Python For Loop: cicli For, While, nidificati [esempi]
Pubblicato: 2021-06-15Acquisire esperienza in Python richiede la comprensione di ogni concetto del linguaggio di programmazione. Nel seguente articolo, discuteremo uno di questi concetti di python, ovvero for loop. Poiché sarà ampiamente utilizzato in Python, comprendere il concetto è fondamentale per portare avanti con altre parti complesse di Python.
Sommario
1. Ciclo For in Python
In un determinato programma un blocco di istruzioni deve essere eseguito ripetutamente per più volte. Pertanto vengono costruiti dei loop che aiutano nell'esecuzione ripetuta delle istruzioni. Python for loop è un tipo di istruzione loop in python che porta alle esecuzioni multiple di una sequenza di istruzioni. Il processo iterativo viene eseguito su una sequenza come una lista, una tupla o una stringa. La variabile di indicizzazione non deve essere impostata in anticipo nel ciclo for in python.
Sintassi di un ciclo for in python
per x in sequenza:
per dichiarazioni
Dove x è qualsiasi valore all'interno della sequenza. Il ciclo for continua a essere eseguito fino al raggiungimento dell'ultimo elemento della sequenza.
Un esempio di ciclo for in Python
1. Input: ciclo for in un elenco
mesi = [“gennaio”, “febbraio”, “marzo”]
per x in mesi:
se x == “febbraio”:
Continua
print(x, len(x))
Uscita: 7 gennaio
8 febbraio
5 marzo
2. Input: ciclo for in una stringa
per x in “computer”:
stampa(x)
Produzione:
C
o
m
P
tu
T
e
R
3. Input: a volte è possibile aggiungere una condizione di un'istruzione break prima dell'esaurimento della sequenza.
mesi = [“gennaio”, “febbraio”, “mesi”]
per x in mesi:
se x == “febbraio”:
rottura
stampa(x)
Uscita: gennaio
4. Input: è possibile aggiungere una condizione di istruzione "continue" per interrompere il processo di iterazione e continuare con il successivo.
mesi = [“gennaio”, “febbraio”, “marzo”]
per x in mesi:
se x == “febbraio”:
Continua
stampa(x)
La funzione range()
Per l'iterazione di una sequenza di numeri, viene utilizzata la funzione range(). È una funzione incorporata che restituisce una sequenza di numeri. I numeri per impostazione predefinita iniziano da 0 e aumentano di 1. Una funzione range(5) genererà 5 valori.
I valori di una funzione range() non sono archiviati in memoria e quindi è importante menzionare il numero di inizio, il numero di fine e anche l'incremento. In base a queste condizioni, la funzione restituisce il numero successivo.
- Ad esempio: il programma seguente genererà 4 valori ovvero 0, 1, 2 e 3.
per x nell'intervallo(4):
stampa(x)
- La dimensione di inizio, fine e passo può anche essere definita a volte insieme alla funzione range(). Se non viene fornita alcuna dimensione del passaggio, viene considerato il valore predefinito di 1. Step è l'incremento che può essere specificato nella funzione.
Sintassi: range(start, stop,step_size)
Esempio:
Input: intervallo(6, 12)
Uscita: 6, 7, 8, 9,10,11
Input: intervallo(0, 9, 2)
Uscita: 0, 2, 4, 6, 8
Input: intervallo(-10, -90, -20)
Uscita: -10, -30, -50, -70,
- L'output della funzione range() viene solitamente visualizzato come un elenco ma la funzione in realtà non crea un elenco degli elementi restituiti. Pertanto ciò consente di risparmiare memoria. Tuttavia, se l'utente desidera restituire l'output sotto forma di elenco, viene utilizzata la funzione list().
Esempio:
Input: print(list(range(6)))
print(list(range(3, 9)))
print(list(range(2, 11, 2)))
Uscita: [0, 1, 2, 3, 4, 5]
[3, 4, 5, 6, 7, 8]
[2, 4, 6, 8, 10]
La funzione range() nel ciclo for in python
Per scorrere una sequenza di numeri, la funzione python for loop range() può essere utilizzata sui cicli for.
Un esempio è mostrato di seguito:
Input: mesi = ['gennaio', 'febbraio', 'marzo']
per i nell'intervallo(len(mesi)):
print("Mi piace", mesi[i])
Uscita: mi piace gennaio
Mi piace febbraio
Mi piace marzo
2. Python For Loop con altro
Le istruzioni python for loop potrebbero essere talvolta associate a istruzioni aggiuntive di "else". Le istruzioni else vengono eseguite quando il ciclo è esaurito.
- Input: per x nell'intervallo(4):
stampa(x)
altro:
print("stampa completata!")
Uscita: 0
1
2
3
stampa fatta!
- La condizione di interruzione potrebbe essere aggiunta per ignorare la parte di "else". L'interruzione di un'istruzione di ciclo interrompe l'esecuzione di un altro blocco.
Input: per x nell'intervallo(5):
se x == 4: interruzione
stampa(x)
altro:
print("stampa completata!")
Uscita: 0
1
2
3. Loop nidificati Python
I cicli annidati si riferiscono al ciclo di istruzioni all'interno di un ciclo.
Un esempio che mostra un ciclo annidato è:
stagione = [“inverno”, “estate”, “autunno”]
mesi = [“gennaio”, “febbraio”, “marzo”]
per x in stagione:
per y in mesi:
stampa(x, y)
Produzione:
inverno gennaio
febbraio invernale
marcia invernale
gennaio estivo
febbraio estivo
marcia estiva
autunno gennaio
autunno febbraio
marzo autunnale
Conclusione
I loop sono un segmento importante del linguaggio di programmazione Python in quanto consentono all'utente di eseguire un codice in modo ripetuto. Potrebbero verificarsi situazioni in cui l'utente deve utilizzare lo stesso pezzo di codice. In questi casi, scrivere un programma diventa facile e richiede meno tempo. L'articolo descriveva l'uso del ciclo for nello script Python, comprese varie condizioni. Se vuoi saperne di più su vari progetti e argomenti Python, dai un'occhiata a questo articolo.
Se sei interessato ad acquisire esperienza pratica e ad essere formato da esperti del linguaggio Python, puoi dare un'occhiata al programma di scienza dei dati di upGrad. Il corso è rivolto a qualsiasi fascia di età compresa tra i 21 e i 45 anni di età con criteri di ammissibilità minimi del 50% o voti equivalenti alla laurea. Tutti i professionisti che lavorano possono aderire a questo programma Executive PG certificato da IIIT Bangalore.
Con un bootcamp di programmazione Python gratuito, il corso di upGrad offre oltre 60 progetti di settore insieme a oltre 140 strumenti e linguaggi di programmazione. Tutte le domande relative al corso sono benvenute.
- Se il ciclo viene terminato da un'istruzione break, la clausola else non verrà eseguita. Range è uno dei tipi di sequenza immutabili incorporati in Python. Range() viene utilizzato nei loop per controllare quante volte il loop viene ripetuto. Quando usi range(), puoi dargli da uno a tre argomenti interi: - Prima delle asserzioni del ciclo, nella maggior parte dei cicli di condizioni deve essere fornita una condizione. Di conseguenza, le istruzioni nel corpo del ciclo potrebbero non essere mai eseguite. Inoltre, per i cicli while, non è sempre chiaro quante volte il ciclo verrà eseguito. Invece, per i loop, concentrati sull'iteratore, che determina la frequenza con cui vengono eseguite le istruzioni nel corpo del loop.Dove possiamo usare il blocco else con un ciclo for in Python?
- Se un ciclo non incontra un'istruzione break, la clausola else verrà eseguita una volta dopo che tutte le iterazioni sono state completate.
Di seguito sono riportati alcuni dei casi d'uso del blocco else con un ciclo for:
- Invece di usare i flag, possiamo usare break with else per cercare.
- Può essere utilizzato per verificare limiti o confini.
- Se vuoi eseguire qualcosa in base al fatto che il ciclo interno è stato eseguito correttamente o ha colpito un'istruzione break, puoi usare il blocco else.
- Se vuoi interrompere il flusso delle eccezioni, puoi usarle. Come utilizzare i cicli for usando range() in Python?<br />
start è il valore intero a cui inizia la serie; se questo viene omesso, la sequenza inizia da 0.
stop è sempre obbligatorio e specifica il numero che viene conteggiato ma non incluso nella sequenza.
Se il passaggio viene omesso, l'aumento (o la riduzione nel caso di numeri negativi) dell'iterazione successiva viene impostato su 1.
Vedremo un esempio di diversi argomenti che possono essere passati a range().
per i in range(0,15,3):
stampa(i)
Qui, il ciclo inizia da 0 e termina a 14 al passo 3. Quindi, l'output è – 0, 3, 6, 9, 12. Dovrei scegliere un ciclo while o for nel mio programma Python?
- Se sai esattamente quanti elementi vuoi attraversare, è preferibile un ciclo for. Un ciclo while, d'altra parte, è migliore per valutare un'istruzione booleana piuttosto che un elenco di elementi su cui eseguire il ciclo.