Aiutaci a continuare a fornirti tutorial gratuiti e di qualità disattivando il blocco degli annunci, altrimenti abbonati al nostro sito.

Come usare il loop While in Python

25 feb 2020 3 min di lettura
Come usare il loop While in Python
Indice dei contenuti

Introduzione

I loop sono uno dei concetti fondamentali dei linguaggi di programmazione. I loop sono utili quando si desidera ripetere un determinato blocco di codice un numero di volte fino a quando non viene soddisfatta una determinata condizione.

Esistono due costrutti di loop di base in Python for e while loop.

Questo tutorial illustra le basi dei loop while in Python. Ti mostreremo anche come utilizzare la clausola else e le dichiarazioni break e continue.

Python While Loop

Il ciclo while esegue le sue istruzioni un numero sconosciuto di volte fino a quando la condizione data viene valutata true.

Il ciclo while Python ha la forma seguente:

while EXPRESSION:
    STATEMENT(S)

L'istruzione while inizia con la parola chiave while, seguita dall'espressione condizionale.

Il parametro EXPRESSION viene valutato prima di eseguire le istruzioni. Se la condizione restituisce true, STATEMENT(S) vengono eseguiti. Altrimenti, se la condizione viene valutata false, il ciclo viene terminato e il controllo del programma viene passato all'istruzione che segue.

Il blocco STATEMENT(S) inizia con un rientro e termina con la prima riga non rientrata. La maggior parte delle persone sceglie di utilizzare il rientro a 4 o 2 spazi. La Guida di stile ufficiale per Python Code raccomanda di usare 4 spazi per livello di rientro ed evitare di mescolare l'uso di tabulazioni e spazi per il rientro.

Diamo un'occhiata al seguente codice di esempio che incrementa e stampa il valore corrente della variabile i purché sia ​​inferiore a cinque:

i=0
while i < 5:
    i += 1
    print('number:', i)

Il ciclo di ripetizione continua finché i è inferiore o uguale a cinque. Produrrà il seguente output:

number: 1
number: 2
number: 3
number: 4
number: 5

Python supporta operazioni di confronto standard:

  • a == b - Vero se a e b sono uguali.
  • a != b - Vero se a e b non sono uguali.
  • a > b - Vero se a è maggiore di b.
  • a >= b - Vero se a è uguale o maggiore di b.
  • a < b - Vero se a è inferiore a b.
  • a <= b - Vero se a è uguale o inferiore a b.

Per negare l'espressione condizionale, utilizzare l'operatore logico not:

i=0
while not i >= 5:
    i += 1
    print('number:', i)

Dichiarazioni break e continue

Le istruzioni break e continue consentono di controllare l'esecuzione del loop while.

L'istruzione break termina il ciclo corrente e passa il controllo del programma all'istruzione che segue il ciclo terminato. La situazione più comune è utilizzare break per terminare il loop quando viene soddisfatta una determinata condizione.

Nel seguente esempio, l'esecuzione del ciclo viene interrotta quando l'elemento iterato corrente è uguale a 2.

i=0
while i < 5:
    i += 1
    if i == 2:
        break
    print('number:', i)
Number: 1

L'istruzione continue esce dall'iterazione corrente di un ciclo e passa il controllo del programma alla successiva iterazione del ciclo.

Nell'esempio successivo, una volta che l'attuale oggetto iterato è uguale 2 l'istruzione continue causerà il ritorno all'inizio del ciclo continuerà con la prossima iterazione.

i=0
while i < 5:
    i += 1
    if i == 2:
        continue
    print('number:', i)
number: 1
number: 3
number: 4
number: 5

Clausola else

A differenza di altri linguaggi, in Python, il loop while ha una clausola else opzionale:

while EXPRESSION:
    STATEMENT(S)
else:
    STATEMENT(S)

Le istruzioni all'interno della clausola else vengono eseguite solo quando viene valutato EXPRESSION come false. Se viene sollevata un'eccezione o se il ciclo termina con l'istruzione break, non verrà eseguito.

Ecco un esempio:

i=0
while i < 5:
    i += 1
    print('number:', i)
else:
    print('Loop completed.')
number: 1
number: 2
number: 3
number: 4
number: 5
Loop completed.

Vediamo cosa succede quando si utilizza l'istruzione break per uscire dal circuito::

i=0
while i < 5:
    i += 1
    if i == 2:
        break
    print('number:', i)
else:
    print('Loop completed.')

L'istruzione all'interno della clausola else non viene eseguita perché l'espressione non ha valutato false:

Number: 1

La clausola else con un loop while non viene spesso utilizzata. Una situazione comune è quando si prevede di interrompere un ciclo e se il ciclo continua a funzionare fino alla valutazione della condizione false, è possibile eseguire alcune istruzioni o funzioni.

Loop While infinito

Un ciclo infinito è un ciclo che si ripete indefinitamente e non termina mai fino al termine del programma. Se la condizione restituisce sempre true, si ottiene un ciclo infinito.

I cicli infiniti vengono generalmente utilizzati per far attendere al programma che si verifichi un evento esterno. In genere, in Python, viene creato un ciclo infinito con while True: Invece di True, puoi anche usare qualsiasi altra espressione che ritorni sempre true.

Ecco un esempio di un ciclo infinito while che continuerà a chiederti di inserire "Si":

while True:
    i = input('Please enter \'Si\': ')
    if i.strip() == 'Si':
        break

Il loop while funzionerà finché non inserisci "Si":

Please enter 'Si': 3
Please enter 'Si': l
Please enter 'Si': 3
Please enter 'Si': No
Please enter 'Si': Si

Un altro modo per terminare un ciclo infinito è premere CTRL+C.

Quando si scrivono loop infiniti, assicurarsi di utilizzare l'istruzione break per uscire dal loop a un certo punto.

Conclusione

Il loop while esegue ripetutamente le sue istruzioni fintanto che la condizione data viene valutata true.

Supportaci se ti piacciono i nostri contenuti. Grazie.

Buy me a coffeeBuy me a coffee

Partecipa alla conversazione

Sostienici con una donazione.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.