Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Cicli While | Cicli
Introduzione a Python

Scorri per mostrare il menu

book
Cicli While

while loop sono lo strumento chiave per gestire l'iterazione indefinita, utile in scenari in cui il numero di iterazioni non è noto in anticipo, come il monitoraggio dei livelli di inventario fino a quando non raggiungono una soglia specifica.

Guarda come Alex dimostra come utilizzare i while loop per gestire situazioni dinamiche:

Un while loop in Python esegue continuamente un blocco di codice finché una condizione specificata rimane True.

Sintassi

Per avviare un while loop, si definisce una variabile contatore e la si segue con la parola chiave while e una condizione booleana. La condizione è seguita da due punti :, che indicano l'inizio del blocco di codice del loop.

Il loop verrà eseguito ripetutamente fino a quando la condizione diventa False. Tipicamente, la variabile contatore viene aggiornata all'interno del loop per rendere eventualmente la condizione False e fermare il loop.

Prendi questo while loop come esempio:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

In questo esempio, queue_length funge da variabile contatore, iniziando da 5. Ad ogni iterazione del ciclo, il valore di queue_length diminuisce di 1 fino a raggiungere 0. A quel punto, il ciclo termina perché la condizione 0 > 0 si valuta come False.

Nota

È cruciale aggiornare la variabile contatore all'interno del ciclo per eventualmente soddisfare la condizione per fermare il ciclo. Senza questo, il ciclo continuerà a funzionare all'infinito, impedendo l'esecuzione di qualsiasi altro codice.

Applicazione di Esempio

Immagina di gestire lo stock di latte in un negozio di alimentari. Devi assicurarti che lo stock non scenda al di sotto di un certo livello, e quando lo fa, dovresti rifornire per mantenere il livello di stock.

Un ciclo while è utile in questa situazione perché ti permette di rifornire il latte in incrementi su diverse iterazioni fino a quando lo stock raggiunge il livello desiderato. Senza un ciclo while, dovresti calcolare la quantità esatta di latte da rifornire tutto in una volta.

Ad esempio, considera che un lavoratore del negozio può rifornire solo una quantità fissa di latte in un viaggio (ad esempio, 20 confezioni per rifornimento). Se lo stock non è completamente rifornito, il lavoratore torna al magazzino per portare un altro lotto di latte.

123456789101112131415161718
# 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 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Nota

milk_stock += restock_quantity è equivalente a milk_stock = milk_stock + restock_quantity. È semplicemente un modo più conciso e leggibile per esprimere la stessa operazione.

Il diagramma di flusso sopra illustra la logica dietro il ciclo while utilizzato per gestire l'inventario del latte. Nota come la variabile contatore milk_stock, che parte da 15, viene incrementata dalla restock_quantity ad ogni iterazione del ciclo.

Il ciclo continua a funzionare fino a quando milk_stock supera la soglia min_stock di 50, a quel punto si ferma.

Compito

Swipe to start coding

Gestisci l'inventario di un negozio di alimentari utilizzando i cicli while per garantire che Bread, Eggs e Apples raggiungano i loro livelli minimi di stock. Le quantità di rifornimento sono memorizzate in un dizionario.

  • Usa un ciclo while per verificare se "Bread" è al di sotto del suo stock minimo. In tal caso, aumenta il suo stock utilizzando la quantità di rifornimento corrispondente dal dizionario.
  • Ripeti la stessa logica per "Eggs" e "Apples", ciascuno con il proprio ciclo while.
  • Dopo il rifornimento, scorrere il dizionario inventory utilizzando il ciclo for e stampare i livelli di stock finali per tutti gli articoli.

Requisiti di Output

  • Per ogni articolo rifornito, stampa:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Dopo tutti i rifornimenti, stampa Final Inventory after restocking: seguito dai livelli di stock aggiornati:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Inserisci una nuova riga prima dell'inventario finale usando \n.
  • Usa f-strings per la formattazione e virgolette singole all'interno di stringhe tra virgolette doppie per le chiavi del dizionario.

Nota

Per evitare conflitti di sintassi negli f-strings, usa virgolette doppie attorno alla stringa e virgolette singole all'interno: f"Bread stock is low: {inventory['Bread'][0]} units."
Usa \n per iniziare una nuova riga nell'output: "First line.\nSecond line."

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

book
Cicli While

while loop sono lo strumento chiave per gestire l'iterazione indefinita, utile in scenari in cui il numero di iterazioni non è noto in anticipo, come il monitoraggio dei livelli di inventario fino a quando non raggiungono una soglia specifica.

Guarda come Alex dimostra come utilizzare i while loop per gestire situazioni dinamiche:

Un while loop in Python esegue continuamente un blocco di codice finché una condizione specificata rimane True.

Sintassi

Per avviare un while loop, si definisce una variabile contatore e la si segue con la parola chiave while e una condizione booleana. La condizione è seguita da due punti :, che indicano l'inizio del blocco di codice del loop.

Il loop verrà eseguito ripetutamente fino a quando la condizione diventa False. Tipicamente, la variabile contatore viene aggiornata all'interno del loop per rendere eventualmente la condizione False e fermare il loop.

Prendi questo while loop come esempio:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

In questo esempio, queue_length funge da variabile contatore, iniziando da 5. Ad ogni iterazione del ciclo, il valore di queue_length diminuisce di 1 fino a raggiungere 0. A quel punto, il ciclo termina perché la condizione 0 > 0 si valuta come False.

Nota

È cruciale aggiornare la variabile contatore all'interno del ciclo per eventualmente soddisfare la condizione per fermare il ciclo. Senza questo, il ciclo continuerà a funzionare all'infinito, impedendo l'esecuzione di qualsiasi altro codice.

Applicazione di Esempio

Immagina di gestire lo stock di latte in un negozio di alimentari. Devi assicurarti che lo stock non scenda al di sotto di un certo livello, e quando lo fa, dovresti rifornire per mantenere il livello di stock.

Un ciclo while è utile in questa situazione perché ti permette di rifornire il latte in incrementi su diverse iterazioni fino a quando lo stock raggiunge il livello desiderato. Senza un ciclo while, dovresti calcolare la quantità esatta di latte da rifornire tutto in una volta.

Ad esempio, considera che un lavoratore del negozio può rifornire solo una quantità fissa di latte in un viaggio (ad esempio, 20 confezioni per rifornimento). Se lo stock non è completamente rifornito, il lavoratore torna al magazzino per portare un altro lotto di latte.

123456789101112131415161718
# 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 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Nota

milk_stock += restock_quantity è equivalente a milk_stock = milk_stock + restock_quantity. È semplicemente un modo più conciso e leggibile per esprimere la stessa operazione.

Il diagramma di flusso sopra illustra la logica dietro il ciclo while utilizzato per gestire l'inventario del latte. Nota come la variabile contatore milk_stock, che parte da 15, viene incrementata dalla restock_quantity ad ogni iterazione del ciclo.

Il ciclo continua a funzionare fino a quando milk_stock supera la soglia min_stock di 50, a quel punto si ferma.

Compito

Swipe to start coding

Gestisci l'inventario di un negozio di alimentari utilizzando i cicli while per garantire che Bread, Eggs e Apples raggiungano i loro livelli minimi di stock. Le quantità di rifornimento sono memorizzate in un dizionario.

  • Usa un ciclo while per verificare se "Bread" è al di sotto del suo stock minimo. In tal caso, aumenta il suo stock utilizzando la quantità di rifornimento corrispondente dal dizionario.
  • Ripeti la stessa logica per "Eggs" e "Apples", ciascuno con il proprio ciclo while.
  • Dopo il rifornimento, scorrere il dizionario inventory utilizzando il ciclo for e stampare i livelli di stock finali per tutti gli articoli.

Requisiti di Output

  • Per ogni articolo rifornito, stampa:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Dopo tutti i rifornimenti, stampa Final Inventory after restocking: seguito dai livelli di stock aggiornati:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Inserisci una nuova riga prima dell'inventario finale usando \n.
  • Usa f-strings per la formattazione e virgolette singole all'interno di stringhe tra virgolette doppie per le chiavi del dizionario.

Nota

Per evitare conflitti di sintassi negli f-strings, usa virgolette doppie attorno alla stringa e virgolette singole all'interno: f"Bread stock is low: {inventory['Bread'][0]} units."
Usa \n per iniziare una nuova riga nell'output: "First line.\nSecond line."

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt