Geneste Lussen
Geneste lussen vergroten de kracht van eenvoudige lussen door je in staat te stellen herhaalde acties over meerdere dimensies uit te voeren. Dit is cruciaal voor het omgaan met complexere taken in een supermarktomgeving, zoals het organiseren van meerlagige inventarisgegevens of het coördineren van roosters over verschillende afdelingen.
Bekijk hoe Alex laat zien hoe geneste lussen kunnen worden gebruikt om de efficiëntie te verbeteren en complexe scenario's in onze supermarktomgeving te beheren:
Geneste lussen zijn ongelooflijk nuttig in programmeren wanneer je door meerdere reeksen tegelijk moet lopen. Door een lus in een andere te plaatsen, kun je itereren over elementen in twee of meer dimensies, zoals een lijst van lijsten:
# 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
Merk op hoe de buitenste lus door elke sublijst itereren in department_stocks
, waarbij elke sublijst een andere afdeling vertegenwoordigt. De binnenste lus doorloopt vervolgens alle items binnen elke sublijst. De buitenste lus gaat niet verder naar de volgende sublijst totdat de binnenste lus alle items in de huidige sublijst heeft doorlopen.
Swipe to start coding
Beheer en toon supermarktartikelen uit verschillende gangpaden met behulp van lijsten en lussen.
- Combineer de lijsten
aisle1
,aisle2
enaisle3
in een enkele lijst van lijsten genaamdaisles
. - Gebruik een
for
-lus om dooraisles
te itereren metaisle
als de lusvariabele. - Voor elk gangpad, print het gangpadnummer beginnend vanaf 1.
- Gebruik een geneste
for
-lus om door de items in het huidige gangpad te itereren metitem
als de lusvariabele. - Print elk item in het gespecificeerde formaat.
Uitvoervereisten
- Print gangpadnummer als:
Aisle: <aisle_number>
- Print elk item als:
Contains <item>
Opmerking
Je kunt de
index()
-methode gebruiken om de positie van elk gangpad in de gecombineerde lijst te vinden.
Oplossing
Bedankt voor je feedback!