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.
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.
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.
Si conosce già il numero di iterazioni. I cicli for funzionano proprio così: terminano quando l’iterabile finisce.
Non si sa a priori quante volte ripetere l’operazione. Viene gestita con i cicli while (li vedremo nel modulo successivo).
vegetable = "Carrot"
for letter in vegetable:
print(letter)
Ogni carattere è iterato separatamente.
categories = ("Produce", "Bakery", "Meat", "Dairy")
for category in categories:
print(category)
productStock = {"milk": 120, "eggs": 200, "bread": 80}
for product in productStock:
print(product)
for stock in productStock.values():
print(stock)
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.
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:
for,if/else,Utilizza un ciclo for per sommare i valori di una lista di prezzi.
total e impostala a 0.for per iterare sui prezzi nella lista prices.total.Esempio atteso:
prices = [2.99, 5.49, 3.20, 1.99]
total = 0
for price in prices:
total += price
print(total)