Cicli For

I cicli rappresentano uno strumento fondamentale per automatizzare compiti ripetitivi e lavorare in modo efficiente con sequenze di dati. In questo modulo esploreremo i cicli for, il modo più comune e leggibile per iterare su elementi in Python.


🎬 Introduzione ai cicli for

I cicli for consentono di eseguire un blocco di codice una volta per ogni elemento di un oggetto iterabile, come liste, tuple, dizionari o stringhe.


🔧 Sintassi di base

La struttura di un ciclo for in Python è la seguente:

groceryItems = ["milk", "eggs", "cheese", "butter"]

for item in groceryItems:
    # Codice eseguito a ogni iterazione
    print(item)

Qui, item è la variabile iteratrice che assume, a ogni ciclo, il valore del successivo elemento della lista.


🔁 Tipi di Iterazione

✔ Iterazione Definita

Si conosce già il numero di iterazioni. I cicli for funzionano proprio così: terminano quando l’iterabile finisce.

✔ Iterazione Indefinita

Non si sa a priori quante volte ripetere l’operazione. Viene gestita con i cicli while (li vedremo nel modulo successivo).


📚 Iterazione su vari tipi di dati

1. Stringhe

vegetable = "Carrot"
for letter in vegetable:
    print(letter)

Ogni carattere è iterato separatamente.


2. Tuple

categories = ("Produce", "Bakery", "Meat", "Dairy")
for category in categories:
    print(category)

3. Dizionari

🔸 Iterare sulle chiavi

productStock = {"milk": 120, "eggs": 200, "bread": 80}

for product in productStock:
    print(product)

🔸 Iterare sui valori

for stock in productStock.values():
    print(stock)

🔸 Iterare su chiavi e valori insieme

for product, stock in productStock.items():
    print(f"{product} has {stock} units in stock.")

💡 Qui usiamo le f-string, che permettono di inserire variabili all’interno del testo in modo semplice e leggibile.


🧠 Esempio: Controllo dell'inventario

inventory = {
    "milk": 120,
    "eggs": 30,
    "bread": 80,
    "apples": 10
}

minimum_stock = 50

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.")

In questo esempio combiniamo:

  • cicli for,
  • condizioni if/else,
  • dizionari,
  • f-string.

📝 Compito: Somma dei prezzi dei prodotti

Utilizza un ciclo for per sommare i valori di una lista di prezzi.

Istruzioni

  1. Crea una variabile total e impostala a 0.
  2. Usa un ciclo for per iterare sui prezzi nella lista prices.
  3. A ogni iterazione aggiungi il valore a total.
  4. Alla fine, stampa il totale.

Esempio atteso:

prices = [2.99, 5.49, 3.20, 1.99]

total = 0

for price in prices:
    total += price

print(total)