Geneste Lussen
Geneste lussen vergroten de mogelijkheden van eenvoudige lussen door het mogelijk te maken om herhaalde acties over meerdere dimensies uit te voeren. Dit is essentieel voor het afhandelen van complexere taken in een supermarkt, zoals het organiseren van gelaagde voorraadgegevens of het coördineren van roosters tussen verschillende afdelingen.
Bekijk hoe Alex laat zien hoe geneste lussen kunnen worden ingezet om de efficiëntie te verhogen en complexe scenario's in onze supermarkt te beheren:
Geneste lussen zijn uitermate nuttig in programmeren wanneer het nodig is om door meerdere reeksen tegelijk te itereren. Door een lus binnen een andere te plaatsen, kun je over elementen in twee of meer dimensies itereren, zoals bij 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 dat de buitenste lus door elke sublijst in department_stocks
itereert, waarbij elke sublijst een andere afdeling vertegenwoordigt. De binnenste lus itereert vervolgens door alle items binnen elke sublijst. De buitenste lus gaat pas verder naar de volgende sublijst wanneer 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
tot één lijst van lijsten genaamdaisles
. - Gebruik een
for
-lus om dooraisles
te itereren metaisle
als lusvariabele. - Print voor elk gangpad het gangpadnummer, beginnend bij 1.
- Gebruik een geneste
for
-lus om door de items in het huidige gangpad te itereren metitem
als lusvariabele. - Print elk item in het opgegeven formaat.
Uitvoervereisten
- Print het gangpadnummer als:
Aisle: <aisle_number>
- Print elk item als:
Contains <item>
Opmerking
Je kunt de methode
index()
gebruiken om de positie van elk gangpad in de gecombineerde lijst te vinden.
Oplossing
Bedankt voor je feedback!