Cicli While In Python
Cicli While in Python¶
Obiettivi della Lezione¶
Al termine di questa lezione, sarai in grado di:
- Comprendere la sintassi e il funzionamento dei cicli
while
in Python. - Utilizzare i cicli
while
per eseguire blocchi di codice ripetutamente. - Gestire correttamente le condizioni di loop per evitare cicli infiniti.
- Applicare i cicli
while
in esempi pratici e risolvere problemi comuni. - Integrare le buone pratiche nell’uso dei cicli
while
per scrivere codice efficiente e leggibile.
Introduzione¶
I cicli sono una componente fondamentale in qualsiasi linguaggio di programmazione, poiché permettono di eseguire ripetutamente un blocco di codice fino al soddisfacimento di una determinata condizione. In Python, il ciclo while
offre un modo semplice e potente per creare loop basati su condizioni che possono cambiare durante l’esecuzione del programma. Questa lezione esplorerà in dettaglio come utilizzare i cicli while
, fornendo una base solida per scrivere script efficienti e dinamici.
while condizione:
# blocco di codice da eseguire finché la condizione è vera
condizione
: un’espressione che viene valutata come vera (True
) o falsa (False
).- Il blocco di codice indentato sotto l’istruzione
while
viene eseguito ripetutamente finché la condizione rimane vera.
Funzionamento del Ciclo While¶
- La condizione viene valutata.
- Se la condizione è vera (
True
), il blocco di codice all’interno delwhile
viene eseguito. - Al termine del blocco, si ritorna al punto 1.
- Se la condizione è falsa (
False
), il ciclo termina e l’esecuzione continua con le istruzioni successive al bloccowhile
.
Esempio Concettuale¶
Immagina di voler contare da 1 a 5. Un ciclo while
può aiutarti a ripetere l’operazione di stampare un numero e poi incrementarlo fino a raggiungere il numero desiderato.
contatore = 1
while contatore <= 5:
print("Contatore:", contatore)
contatore += 1
Contatore: 1 Contatore: 2 Contatore: 3 Contatore: 4 Contatore: 5
Spiegazione:
contatore = 1
: inizializziamo una variabilecontatore
con il valore 1.while contatore <= 5
: il ciclo continua finchécontatore
è minore o uguale a 5.print("Contatore:", contatore)
: stampa il valore corrente dicontatore
.contatore += 1
: incrementacontatore
di 1 a ogni iterazione.
Esempio 2: Chiedere input all’utente finché non inserisce una parola specifica¶
parola_segreta = "Python"
input_utente = ""
while input_utente != parola_segreta:
input_utente = input("Indovina la parola segreta: ")
print("Complimenti, hai indovinato!")
Indovina la parola segreta: Java Indovina la parola segreta: C++ Indovina la parola segreta: Python Complimenti, hai indovinato!
Spiegazione:
parola_segreta = "Python"
: la parola che l’utente deve indovinare.input_utente = ""
: inizializziamoinput_utente
con una stringa vuota.while input_utente != parola_segreta
: il ciclo continua finché l’utente non inserisce la parola corretta.input_utente = input("Indovina la parola segreta: ")
: chiediamo all’utente di inserire una parola.print("Complimenti, hai indovinato!")
: messaggio di congratulazioni una volta terminato il ciclo.
numero = 2
while numero <= 10:
print(numero)
numero += 2
2 4 6 8 10
Esercizio 2: Calcolatore di sommatoria¶
Crea un programma che chiede all’utente di inserire numeri interi positivi. Il programma dovrebbe terminare quando l’utente inserisce un numero negativo e poi stampare la somma di tutti i numeri inseriti.
Soluzione:
somma = 0
numero = 0
while numero >= 0:
numero = int(input("Inserisci un numero intero positivo (numero negativo per terminare): "))
if numero >= 0:
somma += numero #il numero negativo non verrà aggiunto alla somma
print("La somma dei numeri inseriti è:", somma)
Inserisci un numero intero positivo (numero negativo per terminare): 4 Inserisci un numero intero positivo (numero negativo per terminare): 7 Inserisci un numero intero positivo (numero negativo per terminare): 2 Inserisci un numero intero positivo (numero negativo per terminare): -8 La somma dei numeri inseriti è: 13
Buone Pratiche e Consigli¶
Evitare Cicli Infiniti: Assicurati che la condizione del ciclo
while
possa diventare falsa, altrimenti il programma entrerà in un loop infinito.# Esempio di ciclo infinito - Evitarlo! while True: print("Questo ciclo non termina mai")
Aggiornamento delle Variabili: Ricordati di aggiornare le variabili coinvolte nella condizione all’interno del ciclo.
Utilizzo di Break e Continue:
break
: esce immediatamente dal ciclo.continue
: salta all’iterazione successiva del ciclo.
i = 0 while i < 10: i += 1 if i == 5: continue # Salta il resto del codice e ricomincia il ciclo print(i)
Chiarezza del Codice: Mantieni il codice all’interno del ciclo semplice e leggibile. Se il blocco diventa troppo complesso, considera di suddividerlo in funzioni.
Conclusione¶
I cicli while
sono strumenti essenziali in Python che permettono di eseguire operazioni ripetitive basate su condizioni dinamiche. Comprendere come funzionano e come controllarli è fondamentale per scrivere programmi efficienti e robusti. Praticando con diversi esempi ed esercizi, diventerai più confidente nell’utilizzo dei cicli while
e sarai in grado di applicarli in vari contesti di programmazione.
Risorse Aggiuntive¶
- Documentazione Ufficiale Python: Controlflow
- Libro Consigliato: Python Crash Course di Eric Matthes
- Video Tutorial: Loops and Iterations – For/While Loops