Dichiarazioni di istruzioni Python For Loop: cicli For, While, nidificati [esempi]

Pubblicato: 2021-06-15

Acquisire 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.

Dove possiamo usare il blocco else con un ciclo for in Python?

- Se il ciclo viene terminato da un'istruzione break, la clausola else non verrà eseguita.
- 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 />

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:
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?

- 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.
- 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.