I cicli while sono fondamentali per gestire l’iterazione indefinita, cioè situazioni in cui non sappiamo in anticipo quante volte dovrà ripetersi un’operazione. Nel nostro supermercato, questo è utile per controllare livelli di scorte, code alla cassa, o qualunque processo che continua finché una condizione rimane vera.
Un ciclo while esegue ripetutamente un blocco di codice finché la condizione specificata è True.
while condizione:
# blocco di codice da eseguire ripetutamente
Per evitare cicli infiniti, normalmente la condizione viene aggiornata all’interno del ciclo.
# Handling a queue at a grocery store checkout
queue_length = 5 # Initial number of people in the queue
while queue_length > 0: # Continue while the queue isn't empty
print(f"Current queue size: {queue_length}")
print("Serving the next customer...")
# Reduce queue by 1
queue_length -= 1
👉 Il ciclo procede finché queue_length non arriva a 0.
È essenziale aggiornare la variabile di controllo dentro il ciclo, altrimenti la condizione potrebbe non diventare mai False, producendo un ciclo infinito.
Usiamo un ciclo while per simulare un addetto che rifornisce il latte a più riprese.
# Initial amount of milk in stock
milk_stock = 15
# Minimum stock level before restocking is necessary
min_stock = 50
# Quantity a worker can restock at one time
restock_quantity = 20
# Continue restocking until the stock is above the minimum threshold
while milk_stock < min_stock:
print(f"Milk stock is low: {milk_stock} units remaining.")
print("Restocking milk...")
milk_stock += restock_quantity
print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
👉 Il ciclo continua finché il livello scorte non è sufficiente.
Crea un timer di conto alla rovescia che raccoglie tutti i valori in una lista usando un ciclo while.
Usa un ciclo while per contare da start_number fino a 1.
Ad ogni iterazione:
countdown_valuesAl termine stampa:
Discount countdown complete!