🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Ciclo While in Python

Codegrind Team•Jul 22 2023

Il ciclo while è una struttura di controllo fondamentale in Python che consente di eseguire un blocco di codice ripetutamente fintanto che una certa condizione è vera. Questo tipo di ciclo è ideale quando il numero di iterazioni non è noto in anticipo. Esploriamo dettagliatamente il ciclo while, compresa la sintassi, gli esempi di utilizzo e le considerazioni sulle condizioni.

Sintassi del Ciclo while

La struttura del ciclo while è la seguente:

while condizione:
    # Blocco di codice da eseguire finché la condizione è vera
contatore = 0
while contatore < 5:
    print("Iterazione:", contatore)
    contatore += 1

In questo esempio, il blocco di codice all’interno del ciclo while verrà eseguito finché la condizione contatore < 5 è vera. Ogni volta che il blocco viene eseguito, il valore del contatore viene incrementato di 1.

Utilizzo del Ciclo while

Il ciclo while è utile quando vuoi ripetere un’azione finché una certa condizione è soddisfatta. Ad esempio, puoi utilizzarlo per eseguire un’elaborazione fino a quando non si raggiunge un certo stato o condizione desiderata.

saldo = 1000
tasso_interesse = 0.05

while saldo < 2000:
    saldo += saldo * tasso_interesse
    print("Saldo attuale:", saldo)

In questo esempio, il ciclo while viene utilizzato per calcolare l’accumulo di interessi fino a quando il saldo non supera $2000.

Ciclo while Infinito

Attenzione ai cicli while infiniti, in cui la condizione non diventa mai falsa. Questo può causare l’esecuzione continua del blocco di codice, bloccando il programma.

# Attenzione: Ciclo infinito!
while True:
    print("Questo è un ciclo infinito!")

Cicli Annidati e Cicli con Istruzioni Condizionali

Puoi annidare cicli while all’interno di altri cicli while o all’interno di strutture di controllo come le istruzioni if per gestire situazioni più complesse.

Esempio di Ciclo Annidato:

fila = 1
while fila <= 3:
    posto = 1
    while posto <= 5:
        print("Fila:", fila, "- Posto:", posto)
        posto += 1
    fila += 1

Esempio di Ciclo con Istruzione Condizionale:

contatore = 0
while contatore < 10:
    if contatore % 2 == 0:
        print(contatore, "è pari")
    else:
        print(contatore, "è dispari")
    contatore += 1

Istruzioni break, continue ed else nel Ciclo while

  • L’istruzione break interrompe un ciclo while prematuramente se si verifica una condizione.
  • L’istruzione continue passa all’iterazione successiva del ciclo senza eseguire il resto del blocco di codice.
  • L’istruzione else con un ciclo while esegue un blocco di codice una volta che la condizione diventa falsa.

Esempio con break:

tentativi = 0
while tentativi < 3:
    password = input("Inserisci la password: ")
    if password == "segreta":
        print("Accesso consentito")
        break
    else:
        print("Password errata")
        tentativi += 1

Esempio con continue:

contatore = 0
while contatore < 5:
    contatore += 1
    if contatore == 3:
        continue
    print("Valore:", contatore)

Esempio con else:

numero = 10
contatore = 0
while contatore < 5:
    if numero == 5:
        print("Numero trovato!")
        break
    else:
        print("Numero non trovato ancora")
    numero -= 1
    contatore += 1
else:
    print("Numero non trovato dopo 5 tentativi")

Conclusione

Il ciclo while è uno strumento potente per eseguire iterazioni ripetute fino a quando una condizione è vera. Puoi utilizzarlo per gestire situazioni in cui il numero di iterazioni non è noto in anticipo, o per creare cicli più complessi annidando istruzioni condizionali e cicli.