Introduzione
Un ciclo while è un'istruzione fondamentale del flusso di controllo in Python che consente di eseguire ripetutamente un blocco di codice purché una determinata condizione sia vera. Fornisce un modo per automatizzare attività ripetitive ed eseguire iterazioni su una sequenza di valori. Questo articolo esplorerà la sintassi, l'utilizzo e le varie applicazioni dei cicli while in Python.
Sommario
Sintassi e struttura di un ciclo while
La sintassi di un ciclo while in Python è la seguente:
while condition:
# code to be executed
La condizione è un'espressione booleana che determina se il ciclo deve continuare o terminare. Se la condizione è considerata Vera, il blocco di codice all'interno del ciclo verrà eseguito ripetutamente. Una volta che la condizione diventa False, il ciclo terminerà e il programma continuerà con l'istruzione successiva dopo il ciclo.
Utilizzo di base ed esempi
Cominciamo con un semplice esempio per comprendere l'utilizzo di base di un ciclo while. Supponiamo di voler stampare i numeri da 1 a 5. Possiamo ottenere ciò utilizzando un ciclo while, come mostrato di seguito:
num = 1
while num <= 5:
print(num)
num += 1
Uscita
1
2
3
4
5
In questo esempio, inizializziamo la variabile "num" su 1. Il ciclo while continua se "num" è inferiore o uguale a 5. All'interno del ciclo, stampiamo il valore di "num" e quindi lo incrementiamo di 1 utilizzando il comando operatore "+=". Questo processo si ripete finché "num" diventa 6, quando la condizione diventa False e il ciclo termina.
Controllare il flusso con istruzioni di controllo del loop
Python fornisce tre istruzioni di controllo del ciclo, ' break', ' continue' e ' pass ' per consentirti di controllare il flusso di un ciclo while.
La dichiarazione di “interruzione”.
L'istruzione "break" viene utilizzata per uscire prematuramente dal ciclo, anche se la condizione del ciclo è ancora vera. Viene spesso utilizzato quando viene soddisfatta una determinata condizione e si desidera terminare immediatamente il ciclo. Ecco un esempio:
num = 1
while num <= 10:
if num == 6:
break
print(num)
num += 1
Uscita
1
2
3
4
5
In questo esempio, il ciclo termina quando `num` diventa 6 perché abbiamo utilizzato l'istruzione `break` all'interno della condizione if. Di conseguenza, verranno stampati solo i numeri da 1 a 5.
La dichiarazione “continua”.
L'istruzione `continue` viene utilizzata per saltare il resto del blocco di codice all'interno del ciclo e passare all'iterazione successiva. È utile quando si desidera saltare determinati valori o condizioni e continuare con l'iterazione successiva. Ecco un esempio:
num = 1
while num <= 5:
if num == 3:
num += 1
continue
print(num)
num += 1
Uscita
1
2
4
5
In questo esempio, il ciclo salta il valore 3 perché abbiamo utilizzato l'istruzione `continue` all'interno della condizione if. Di conseguenza, il numero 3 non viene stampato e il ciclo continua con l'iterazione successiva.
La dichiarazione di “superamento”.
L'istruzione "pass" è un segnaposto quando non vuoi fare nulla all'interno del ciclo. Viene spesso utilizzato come segnaposto temporaneo durante lo sviluppo o quando si desidera creare un ciclo vuoto. Ecco un esempio:
num = 1
while num <= 5:
pass
num += 1
In questo esempio, l'istruzione "pass" non fa nulla e il ciclo incrementa il valore di "num" finché non diventa 6.
Casi d'uso e applicazioni comuni
Mentre i loop hanno una vasta gamma di applicazioni in Python. Esploriamo alcuni casi d'uso comuni:
Iterazione finché non viene soddisfatta una condizione
I cicli while vengono comunemente utilizzati quando si desidera eseguire un'iterazione finché non viene soddisfatta una determinata condizione. Ad esempio, vogliamo trovare la prima potenza di 2 maggiore di 1000. Possiamo utilizzare un ciclo while per ottenere ciò:
num = 1
while num <= 1000:
num *= 2
print(num)
Uscita
1024
In questo esempio, il ciclo continua finché "num" non supera 1000. Per ogni iterazione, "num" viene moltiplicato per 2 e viene stampato il valore finale.
Convalida dell'input dell'utente
I cicli while sono utili per convalidare l'input dell'utente e garantire che l'input soddisfi determinati criteri. Ad esempio, vogliamo chiedere all'utente di inserire un numero intero positivo. Possiamo usare un ciclo while per chiedere input finché non viene inserito ripetutamente un numero intero valido:
while True:
try:
num = int(input("Enter a positive integer: "))
if num > 0:
break
else:
print("Invalid input. Please enter a positive integer.")
except ValueError:
print("Invalid input. Please enter a valid integer.")
In questo esempio, il ciclo continua indefinitamente finché non viene immesso un numero intero positivo valido. Il blocco "try-Exception" gestisce potenziali errori durante la conversione dell'input in un numero intero.
Creazione di cicli infiniti
I cicli while possono essere utilizzati per creare cicli infiniti, che continuano indefinitamente finché non viene soddisfatta una determinata condizione. Ad esempio, creiamo un semplice ciclo infinito che stampi "Hello, World!" ripetutamente:
while True:
print("Hello, World!")
In questo esempio, la condizione del ciclo è sempre True, quindi il ciclo continua indefinitamente. Per terminare il ciclo, puoi utilizzare l'istruzione "break" o interrompere l'esecuzione del programma.
Un ciclo infinito potrebbe essere utile nel contesto di un sistema di monitoraggio o registrazione in tempo reale. Immagina una situazione in cui devi monitorare continuamente un sistema o una rete per eventi o modifiche specifici e registrare le informazioni. Potrebbe essere impiegato un ciclo infinito per verificare queste condizioni e intraprendere costantemente le azioni appropriate.
Implementazione di cicli di gioco
Mentre i loop sono comunemente usati nello sviluppo di giochi per implementare loop di gioco, che controllano il flusso del gioco e gestiscono l'input dell'utente. Un ciclo di gioco è generalmente costituito da tre componenti principali: aggiornamento dello stato del gioco, rendering della grafica del gioco e gestione dell'input dell'utente. Ecco un esempio semplificato:
game_running = True
while game_running:
# Update game state
# Render game graphics
# Handle user input
In questo esempio, il ciclo continua finché la variabile `game_running` è True. All'interno del ciclo, aggiorneresti lo stato del gioco, eseguirai il rendering della grafica del gioco e gestirai l'input dell'utente. Questo processo si ripete finché il gioco non termina o il giocatore sceglie di uscire.
Leggi anche: Un tutorial completo su Python per imparare la scienza dei dati da zero
Cicli While nidificati e Nidificazione di cicli
Python ti permette di annidare i cicli while, il che significa che puoi avere un ciclo while all'interno di un altro ciclo while. Ciò è utile quando è necessario eseguire attività ripetitive all'interno di attività ripetitive. Ecco un esempio:
outer_num = 1
while outer_num <= 3:
inner_num = 1
while inner_num <= 3:
print(outer_num, inner_num)
inner_num += 1
outer_num += 1
Uscita
1/1
1/2
1/3
2/1
2/2
2/3
3/1
3/2
3/3
In questo esempio, abbiamo un ciclo while esterno che esegue un'iterazione da 1 a 3 e un ciclo while interno che esegue un'iterazione da 1 a 3 per ogni iterazione del ciclo esterno. L'istruzione print all'interno del ciclo interno visualizza i valori di entrambe le variabili del ciclo.
Suggerimenti e best practice per l'utilizzo dei cicli while
Sebbene i cicli siano costrutti potenti, possono anche essere soggetti a errori se non utilizzati correttamente. Ecco alcuni suggerimenti e best practice da tenere a mente quando si utilizzano i cicli while:
Inizializzazione corretta delle variabili
Prima di entrare in un ciclo while, inizializza tutte le variabili del ciclo sui loro valori iniziali. Ciò garantisce che la condizione del ciclo venga valutata correttamente e previene comportamenti imprevisti. Per esempio:
count = 0
while count < 10:
print(count)
count += 1
In questo esempio, inizializziamo la variabile `count` su 0 prima di entrare nel ciclo.
Garantire la terminazione del loop
Per evitare cicli infiniti, assicurarsi sempre che la condizione del ciclo alla fine diventi False. Ciò può essere ottenuto aggiornando le variabili del ciclo o utilizzando istruzioni di controllo del ciclo come "break". Per esempio:
num = 1
while num <= 10:
if num == 6:
break
print(num)
num += 1
In questo esempio, il ciclo termina quando "num" diventa 6 a causa dell'istruzione "break".
Evitare cicli infiniti
Prestare attenzione quando si utilizzano cicli while per evitare di creare cicli infiniti che non terminano mai. I cicli infiniti possono causare arresti anomali del programma e consumare risorse di sistema eccessive. Ricontrolla sempre le condizioni del ciclo e assicurati che possano diventare false ad un certo punto.
Scrivere codice leggibile e manutenibile
Mentre i loop possono diventare complessi e difficili da comprendere se non scritti correttamente. Utilizza nomi di variabili significativi, aggiungi commenti per spiegare lo scopo del ciclo e suddividi le attività complesse in sottoattività più piccole. Ciò rende il tuo codice più leggibile e gestibile.
Tecniche e trucchi avanzati
Mentre i loop possono essere utilizzati in modi avanzati per realizzare compiti specifici. Ecco alcune tecniche e trucchi avanzati:
Ciclo con istruzioni Else
In Python, puoi utilizzare un'istruzione else con un ciclo while per eseguire un blocco di codice quando la condizione del ciclo diventa False. L'altro blocco viene eseguito solo se il ciclo viene completato normalmente senza alcuna istruzione break. Ecco un esempio:
num = 1
while num <= 5:
print(num)
num += 1
else:
print("Loop completed")
Uscita
1
2
3
4
5
Ciclo completato
In questo esempio, il blocco else viene eseguito dopo che il ciclo è stato completato normalmente.
Utilizzo dei cicli While con elenchi e stringhe
I cicli while possono essere utilizzati per scorrere elenchi e stringhe utilizzando una variabile indice. Ecco un esempio:
fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
print(fruits[index])
index += 1
Uscita
mela
Banana
ciliegia
In questo esempio, il ciclo while esegue un'iterazione sugli elementi dell'elenco "frutti" utilizzando la variabile indice.
Leggi anche: Tutto quello che dovresti sapere sulle strutture dati integrate in Python: una guida per principianti!
Confronto con altri costrutti di loop in Python
Mentre i loop sono solo uno dei numerosi costrutti di loop disponibili in Python. Confrontiamo i cicli while con i cicli for e la ricorsione:
Ciclo While e ciclo For
Sebbene i loop e i loop siano entrambi utilizzati per l'iterazione, hanno casi d'uso diversi. Mentre i cicli sono più flessibili e possono gestire condizioni complesse, mentre i cicli for sono più adatti per l'iterazione su una sequenza di valori. I cicli While sono utili quando non si conosce in anticipo il numero esatto di iterazioni o è necessario eseguire calcoli complessi. I cicli sono utili quando si desidera scorrere una sequenza di valori, ad esempio un elenco o una stringa.
While Loops vs. Ricorsione
La ricorsione è una tecnica in cui una funzione richiama se stessa per risolvere un problema. Può essere utilizzato per eseguire attività ripetitive simili ai cicli while, ma presenta alcune differenze. I cicli while sono più adatti per attività iterative in cui si ha una condizione di terminazione chiara e si deve eseguire un numero fisso di iterazioni. La ricorsione è più adatta per risolvere problemi suddivisi in sottoproblemi più piccoli, come algoritmi di ricerca, ordinamento e attraversamento degli alberi.
Conclusione
In questo articolo, abbiamo esplorato il concetto di ciclo while in Python. Abbiamo imparato la loro sintassi, l'utilizzo di base e le varie applicazioni. Abbiamo inoltre discusso suggerimenti, best practice, errori comuni e tecniche avanzate per l'utilizzo dei cicli while. Infine, abbiamo confrontato i cicli while con altri costrutti di loop in Python. Con questa conoscenza, ora puoi utilizzare in modo efficace i cicli while per automatizzare attività ripetitive ed eseguire iterazioni su sequenze di valori nei tuoi programmi Python.
Sblocca la potenza dell'eccellenza nell'intelligenza artificiale e nel machine learning! Iscriviti ora al nostro Programma BlackBelt Plus certificato AI e ML ed eleva le tue abilità a nuovi livelli. Non perdere l'opportunità di padroneggiare le tecnologie più recenti: trasforma la tua carriera oggi!
Inoltre, se stai cercando un corso Python online, esplora il nostro: Introduzione al programma Python oggi!
Leggi Anche
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://www.analyticsvidhya.com/blog/2024/01/python-while-loop-with-examples/
- :ha
- :È
- :non
- :Dove
- 1
- 10
- 360
- a
- WRI
- Raggiungere
- raggiunto
- azioni
- aggiungere
- avanzare
- Avanzate
- Dopo shavasana, sedersi in silenzio; saluti;
- AI
- Algoritmi
- Tutti
- consentire
- consente
- anche
- sempre
- an
- ed
- Un altro
- in qualsiasi
- nulla
- Apple
- applicazioni
- opportuno
- SONO
- articolo
- AS
- chiedere
- At
- automatizzare
- disponibile
- evitare
- Banana
- basic
- BE
- perché
- diventare
- diventa
- prima
- comportamento
- sotto
- MIGLIORE
- best practice
- Meglio
- Bloccare
- entrambi
- Rompere
- incassato
- ma
- by
- Bandi
- Materiale
- Career
- casi
- cauto
- certo
- Modifiche
- dai un'occhiata
- sceglie
- pulire campo
- codice
- Commenti
- Uncommon
- comunemente
- confrontare
- rispetto
- completamento di una
- Completato
- Completa
- complesso
- componenti
- concetto
- condizione
- condizioni
- considerato
- consiste
- costantemente
- consumare
- contesto
- continua
- continua
- continuamente
- di controllo
- conversione
- correttamente
- potuto
- contare
- corso
- creare
- Creazione
- criteri
- dati
- scienza dei dati
- determinazione
- Mercato
- differenze
- diverso
- difficile
- discusso
- display
- Diviso
- do
- effettua
- Dont
- giù
- durante
- ogni
- in maniera efficace
- elementi
- ELEVATE
- altro
- occupato
- vuoto
- finisce
- iscriversi
- garantire
- assicura
- assicurando
- entrare
- inserito
- entrare
- pari
- errori
- Etere (ETH)
- valutato
- Anche
- eventi
- alla fine
- qualunque cosa
- esempio
- Esempi
- supera
- Tranne
- eccessivo
- eseguire
- eseguito
- esecuzione
- uscita
- Spiegare
- esplora
- Esplorazione
- espressione
- falso
- finale
- Infine
- Trovate
- Nome
- fisso
- flessibile
- flusso
- segue
- Nel
- da
- Frutta
- function
- fondamentale
- gioco
- sviluppo del gioco
- Giochi
- grafiche
- maggiore
- maniglia
- Maniglie
- Manovrabilità
- Avere
- altezza
- Ciao
- qui
- Alta
- HTTPS
- if
- immagine
- subito
- realizzare
- in
- incremento
- Index
- informazioni
- inizialmente
- interno
- ingresso
- interno
- ai miglioramenti
- IT
- iterando
- iterazione
- iterazioni
- stessa
- ad appena
- solo uno
- mantenere
- Sapere
- conoscenze
- con i più recenti
- portare
- IMPARARE
- imparato
- meno
- piace
- Lista
- elenchi
- ceppo
- registrazione
- Lunghi
- cerca
- Principale
- Mantenibile
- FA
- Mastercard
- max-width
- significativo
- si intende
- Soddisfa
- di cartone
- forza
- mente
- perdere
- errori
- ML
- Monitorare
- monitoraggio
- Scopri di più
- cambiano
- moltiplicato
- devono obbligatoriamente:
- nomi
- Bisogno
- Nest
- Rete
- mai
- New
- GENERAZIONE
- normalmente
- Niente
- adesso
- numero
- numeri
- of
- di frequente
- on
- una volta
- ONE
- online
- esclusivamente
- operatore
- Opportunità
- or
- Altro
- nostro
- su
- ancora
- passare
- eseguire
- segnaposto
- Platone
- Platone Data Intelligence
- PlatoneDati
- giocatore
- per favore
- più
- punto
- positivo
- potenziale
- energia
- potente
- pratiche
- impedisce
- Stampa
- stampe
- Problema
- problemi
- processi
- Programma
- Programmi
- propriamente
- fornisce
- scopo
- Python
- gamma
- Leggi
- tempo reale
- interpretazione
- RIPETUTAMENTE
- ripetitivo
- Risorse
- REST
- colpevole
- Scienze
- ricerca
- Sequenza
- alcuni
- dovrebbero
- mostrato
- simile
- Un'espansione
- semplificata
- situazione
- abilità
- inferiore
- So
- RISOLVERE
- Soluzione
- alcuni
- specifico
- inizia a
- Regione / Stato
- dichiarazione
- dichiarazioni
- Ancora
- Corda
- La struttura
- strutture
- tale
- adatto
- SVG
- sintassi
- sistema
- Fai
- task
- per l'esame
- tecniche
- Tecnologie
- temporaneo
- di
- che
- Il
- le informazioni
- loro
- poi
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- questo
- tre
- suggerimenti
- a
- Trasformare
- albero
- vero
- prova
- lezione
- tipicamente
- capire
- Inaspettato
- fino a quando
- Aggiornanento
- aggiornamento
- Impiego
- uso
- utilizzato
- utile
- Utente
- utilizzando
- un valido
- convalidando
- APPREZZIAMO
- Valori
- variabile
- vario
- vs
- volere
- Modo..
- modi
- we
- quando
- se
- quale
- while
- largo
- Vasta gamma
- volere
- con
- entro
- senza
- sarebbe
- scritto
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro