Cicli Annidati
I cicli annidati estendono la potenza dei cicli semplici permettendo di eseguire azioni ripetute su più dimensioni. Questo è fondamentale per gestire compiti più complessi in un ambiente di supermercato, come l'organizzazione di dati di inventario multilivello o il coordinamento degli orari tra diversi reparti.
Guarda come Alex mostra come i cicli annidati possano essere utilizzati per aumentare l'efficienza e gestire scenari complessi nel nostro supermercato:
I cicli annidati sono estremamente utili nella programmazione quando è necessario iterare su più sequenze contemporaneamente. Inserendo un ciclo all'interno di un altro, è possibile scorrere elementi su due o più dimensioni, come ad esempio una lista di liste:
# List of lists representing stock in different departments department_stocks = [ ["Apples", "Bananas", "Cherries"], # Fruits ["Milk", "Cheese", "Butter"], # Dairy ["Bread", "Bagels", "Muffins"] # Bakery ] print("Inventory Check:") for department in department_stocks: print(department) # For each iteration of the outer loop, the entire sublist is accessed # The inner loop then iterates over the items in that sublist for item in department: print(f" - {item}") print("") # Add a line break for clarity
Nota come il ciclo esterno itera su ogni sottolista in department_stocks
, dove ogni sottolista rappresenta un dipartimento diverso. Il ciclo interno poi itera su tutti gli elementi all'interno di ciascuna sottolista. Il ciclo esterno non passa alla sottolista successiva finché il ciclo interno non ha terminato di iterare su tutti gli elementi della sottolista corrente.
Swipe to start coding
Gestione e visualizzazione degli articoli del supermercato provenienti da diversi corridoi utilizzando liste e cicli.
- Unire le liste
aisle1
,aisle2
eaisle3
in un'unica lista di liste chiamataaisles
. - Utilizzare un ciclo
for
per iterare suaisles
utilizzandoaisle
come variabile del ciclo. - Per ogni corridoio, stampare il numero del corridoio a partire da 1.
- Utilizzare un ciclo
for
annidato per iterare sugli articoli nel corridoio corrente utilizzandoitem
come variabile del ciclo. - Stampare ogni articolo nel formato specificato.
Requisiti di output
- Stampare il numero del corridoio come:
Aisle: <aisle_number>
- Stampare ogni articolo come:
Contains <item>
Nota
È possibile utilizzare il metodo
index()
per trovare la posizione di ciascun corridoio nella lista combinata.
Soluzione
Grazie per i tuoi commenti!