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

bookCicli For

Benvenuto nella sezione dedicata ai cicli!

In questo capitolo, approfondiremo come i cicli rappresentino uno strumento fondamentale per automatizzare compiti ripetitivi e siano essenziali per gestire in modo efficiente liste e altri tipi di dati iterabili.

Unisciti ad Alex mentre dimostra l'utilizzo dei cicli for per semplificare le operazioni nel nostro negozio di alimentari:

L'utilizzo dei cicli for in Python consente di eseguire un blocco di codice ripetutamente per ogni elemento in una collezione (oggetto iterabile). Ecco cosa è importante sapere sui cicli for:

Sintassi

Si avvia un ciclo for con la parola chiave for, seguita da un nome di variabile come item per rappresentare ciascun elemento nella sequenza. Segue la parola chiave in e poi l'oggetto iterabile, ad esempio groceryItems. Il blocco di codice all'interno del ciclo viene eseguito una volta per ogni elemento.

In questo esempio, item funge da variabile iteratrice che accede sequenzialmente a ciascun elemento della lista groceryItems ed esegue la funzione print() per ognuno di essi:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iterazione si riferisce al processo di esecuzione ripetuta di un blocco di codice. Python supporta due principali tipi di iterazione:

Iterazione Definita

Quando il numero di iterazioni è conosciuto in anticipo. I cicli for sono un esempio classico, interrompendosi automaticamente quando raggiungono la fine della sequenza.

Iterazione Indefinita

In cui l'esecuzione continua fino al soddisfacimento di una condizione specifica, tipicamente gestita dai cicli while, che saranno approfonditi nel prossimo capitolo.

Applicazioni Esempio

I cicli for in Python possono essere utilizzati con qualsiasi oggetto iterabile (lists, tuples, dictionaries, strings), consentendo la manipolazione dei dati elemento per elemento.

Che si tratti di accedere agli elementi di una lista, alle chiavi o ai valori di un dizionario, o ai caratteri di una stringa, i cicli for offrono una sintassi chiara che semplifica il codice per le operazioni ripetitive.

Ecco come è possibile utilizzare un ciclo for per iterare sugli elementi di una stringa e di una tupla, in modo analogo a quanto visto con le liste:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Quando si utilizza un ciclo for con un dizionario, l'iterazione diretta sul dizionario cicla sulle sue chiavi per impostazione predefinita.

Ecco cosa aspettarsi quando si itera direttamente su un dizionario:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Nota come la variabile iteratore product accede solo alle chiavi del dizionario.

Per iterare sui valori di un dizionario, puoi utilizzare il metodo values().

Questo è utile per operazioni che richiedono l'accesso ai valori senza la necessità di fare riferimento alle chiavi:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Se hai bisogno di accedere contemporaneamente alle chiavi e ai valori, il metodo items() permette di scorrere le coppie chiave-valore in un dizionario.

Per utilizzare questo metodo in un ciclo for, si specificano due variabili prima della parola chiave in — una per la chiave (product) e una per il valore (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Nota

In questo esempio, utilizziamo le f-string (note anche come stringhe letterali formattate) per inserire direttamente le variabili nelle stringhe. La sintassi è semplice: aggiungi una f prima del segno di apertura delle virgolette " e inserisci variabili o espressioni tra parentesi graffe {} all'interno della stringa. Questo metodo rende molto più leggibile la combinazione di stringhe e variabili nelle istruzioni di stampa, quindi vale la pena impararlo.

Sfruttando la conoscenza di if/else, operatori booleani e cicli for, è possibile eseguire un semplice controllo dell'inventario su un dizionario:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Nota

Potresti notare che abbiamo inserito delle istruzioni if all'interno del ciclo for, il che ha aggiunto un'ulteriore indentazione al blocco if. Come menzionato in precedenza, ogni blocco di codice indentato può essere considerato indipendente, indipendentemente da dove sia posizionato. L'importante è assicurarsi che l'indentazione sia coerente e corretta tra di essi.

Compito

Swipe to start coding

Gestione delle scorte e delle promozioni in un negozio di alimentari tramite l'iterazione sull'inventario, il controllo delle condizioni di riordino e l'applicazione delle promozioni.

Iterare su ciascun prodotto nel dizionario inventory e:

  • Se la scorta attuale di un prodotto è minore o uguale alla sua scorta minima:
    • Stampare un messaggio di riordino.
    • Aumentare la scorta di 20 e aggiornare il valore nel dizionario.
    • Successivamente, stampare la scorta aggiornata.
  • Utilizzare un altro if per verificare se il prodotto esiste nel dizionario promotions e stampare il messaggio. Altrimenti, stampare un messaggio che indica l'assenza di promozioni disponibili.

Requisiti di output

Per ogni articolo, stampare:

  • --- Processing: <item> ---
  • Se è necessario il riordino:
    <item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>

Updated stock for <item>: <updated_stock>

  • Se esiste una promozione:
    Promotion for <item>: <promotion_details>
  • Altrimenti:
    No promotions for <item>

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 1
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

Suggested prompts:

Can you explain the difference between iterating over a list, tuple, and dictionary?

How do I use a for loop to access both keys and values in a dictionary?

Can you give more examples of using for loops with different data types?

close

Awesome!

Completion rate improved to 2.17

bookCicli For

Scorri per mostrare il menu

Benvenuto nella sezione dedicata ai cicli!

In questo capitolo, approfondiremo come i cicli rappresentino uno strumento fondamentale per automatizzare compiti ripetitivi e siano essenziali per gestire in modo efficiente liste e altri tipi di dati iterabili.

Unisciti ad Alex mentre dimostra l'utilizzo dei cicli for per semplificare le operazioni nel nostro negozio di alimentari:

L'utilizzo dei cicli for in Python consente di eseguire un blocco di codice ripetutamente per ogni elemento in una collezione (oggetto iterabile). Ecco cosa è importante sapere sui cicli for:

Sintassi

Si avvia un ciclo for con la parola chiave for, seguita da un nome di variabile come item per rappresentare ciascun elemento nella sequenza. Segue la parola chiave in e poi l'oggetto iterabile, ad esempio groceryItems. Il blocco di codice all'interno del ciclo viene eseguito una volta per ogni elemento.

In questo esempio, item funge da variabile iteratrice che accede sequenzialmente a ciascun elemento della lista groceryItems ed esegue la funzione print() per ognuno di essi:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iterazione si riferisce al processo di esecuzione ripetuta di un blocco di codice. Python supporta due principali tipi di iterazione:

Iterazione Definita

Quando il numero di iterazioni è conosciuto in anticipo. I cicli for sono un esempio classico, interrompendosi automaticamente quando raggiungono la fine della sequenza.

Iterazione Indefinita

In cui l'esecuzione continua fino al soddisfacimento di una condizione specifica, tipicamente gestita dai cicli while, che saranno approfonditi nel prossimo capitolo.

Applicazioni Esempio

I cicli for in Python possono essere utilizzati con qualsiasi oggetto iterabile (lists, tuples, dictionaries, strings), consentendo la manipolazione dei dati elemento per elemento.

Che si tratti di accedere agli elementi di una lista, alle chiavi o ai valori di un dizionario, o ai caratteri di una stringa, i cicli for offrono una sintassi chiara che semplifica il codice per le operazioni ripetitive.

Ecco come è possibile utilizzare un ciclo for per iterare sugli elementi di una stringa e di una tupla, in modo analogo a quanto visto con le liste:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Quando si utilizza un ciclo for con un dizionario, l'iterazione diretta sul dizionario cicla sulle sue chiavi per impostazione predefinita.

Ecco cosa aspettarsi quando si itera direttamente su un dizionario:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Nota come la variabile iteratore product accede solo alle chiavi del dizionario.

Per iterare sui valori di un dizionario, puoi utilizzare il metodo values().

Questo è utile per operazioni che richiedono l'accesso ai valori senza la necessità di fare riferimento alle chiavi:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Se hai bisogno di accedere contemporaneamente alle chiavi e ai valori, il metodo items() permette di scorrere le coppie chiave-valore in un dizionario.

Per utilizzare questo metodo in un ciclo for, si specificano due variabili prima della parola chiave in — una per la chiave (product) e una per il valore (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Nota

In questo esempio, utilizziamo le f-string (note anche come stringhe letterali formattate) per inserire direttamente le variabili nelle stringhe. La sintassi è semplice: aggiungi una f prima del segno di apertura delle virgolette " e inserisci variabili o espressioni tra parentesi graffe {} all'interno della stringa. Questo metodo rende molto più leggibile la combinazione di stringhe e variabili nelle istruzioni di stampa, quindi vale la pena impararlo.

Sfruttando la conoscenza di if/else, operatori booleani e cicli for, è possibile eseguire un semplice controllo dell'inventario su un dizionario:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Nota

Potresti notare che abbiamo inserito delle istruzioni if all'interno del ciclo for, il che ha aggiunto un'ulteriore indentazione al blocco if. Come menzionato in precedenza, ogni blocco di codice indentato può essere considerato indipendente, indipendentemente da dove sia posizionato. L'importante è assicurarsi che l'indentazione sia coerente e corretta tra di essi.

Compito

Swipe to start coding

Gestione delle scorte e delle promozioni in un negozio di alimentari tramite l'iterazione sull'inventario, il controllo delle condizioni di riordino e l'applicazione delle promozioni.

Iterare su ciascun prodotto nel dizionario inventory e:

  • Se la scorta attuale di un prodotto è minore o uguale alla sua scorta minima:
    • Stampare un messaggio di riordino.
    • Aumentare la scorta di 20 e aggiornare il valore nel dizionario.
    • Successivamente, stampare la scorta aggiornata.
  • Utilizzare un altro if per verificare se il prodotto esiste nel dizionario promotions e stampare il messaggio. Altrimenti, stampare un messaggio che indica l'assenza di promozioni disponibili.

Requisiti di output

Per ogni articolo, stampare:

  • --- Processing: <item> ---
  • Se è necessario il riordino:
    <item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>

Updated stock for <item>: <updated_stock>

  • Se esiste una promozione:
    Promotion for <item>: <promotion_details>
  • Altrimenti:
    No promotions for <item>

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!

close

Awesome!

Completion rate improved to 2.17
Sezione 5. Capitolo 1
single

single

some-alt