For-loops
Welkom bij de sectie gewijd aan loops!
In dit hoofdstuk gaan we dieper in op hoe loops dienen als een belangrijk hulpmiddel voor het automatiseren van repetitieve taken en essentieel zijn voor het efficiënt verwerken van lijsten en andere iterabele gegevenstypen.
Sluit je aan bij Alex terwijl hij het gebruik van for
-loops demonstreert om bewerkingen in onze supermarkt te vereenvoudigen:
Het gebruik van for
-loops in Python stelt je in staat om een codeblok herhaaldelijk uit te voeren voor elk item in een collectie (iterabel object). Dit is wat je moet weten over for
-loops:
Syntax
Start een for
-loop met het sleutelwoord for
, gevolgd door een variabelenaam zoals item
om elk element in de reeks te vertegenwoordigen. Dit wordt gevolgd door het sleutelwoord in
en vervolgens het iterabele object, zoals groceryItems
. Het codeblok binnen de loop wordt één keer uitgevoerd voor elk element.
In dit voorbeeld fungeert item
als de iteratorvariabele die elk element in de lijst groceryItems
opeenvolgend benadert en de functie print()
voor elk element uitvoert:
1234groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
Iteratie verwijst naar het proces van herhaaldelijk uitvoeren van een codeblok. Python ondersteunt twee hoofdtypen iteratie:
Definiete iteratie
Waarbij het aantal iteraties vooraf bekend is. for
-lussen zijn hiervan een klassiek voorbeeld en stoppen automatisch wanneer het einde van de reeks is bereikt.
Indefiniete iteratie
Waarbij de uitvoering doorgaat totdat aan een specifieke voorwaarde is voldaan, meestal afgehandeld door while
-lussen, die in het volgende hoofdstuk uitgebreid worden behandeld.
Voorbeeldtoepassingen
for
-lussen in Python kunnen worden gebruikt met elke iterabele (lists
, tuples
, dictionaries
, strings
), waardoor gegevens per element kunnen worden gemanipuleerd.
Of je nu items in een lijst, sleutels of waarden in een dictionary, of tekens in een string wilt benaderen, for
-lussen bieden een duidelijke syntaxis die code vereenvoudigt voor repetitieve taken.
Hier zie je hoe je een for
-lus kunt gebruiken om over de elementen in een string en een tuple te itereren, vergelijkbaar met wat we bij lijsten hebben gezien:
123456789# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
Bij gebruik van een for
-lus met een dictionary, worden standaard de sleutels van de dictionary doorlopen.
Dit is wat er gebeurt wanneer direct over een dictionary wordt geïtereerd:
1234567# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
Merk op dat de iteratorvariabele product
alleen toegang heeft tot de sleutels van het woordenboek.
Om over de waarden van een woordenboek te itereren, kun je de methode values()
gebruiken.
Dit is handig voor bewerkingen waarbij alleen toegang tot de waarden nodig is, zonder verwijzing naar de sleutels:
1234567# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
Als je sleutels en waarden tegelijkertijd wilt benaderen, kun je met de methode items()
door sleutel-waardeparen in een woordenboek itereren.
Om deze methode in een for
-lus te gebruiken, geef je twee variabelen op vóór het in
-trefwoord — één voor de sleutel (product
) en één voor de waarde (stock
):
1234567# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
Opmerking
In dit voorbeeld gebruiken we f-strings (ook wel geformatteerde string-literals genoemd) om variabelen direct in strings te plaatsen. De syntaxis is eenvoudig: voeg een
f
toe vóór het openingsaanhalingsteken"
en plaats variabelen of expressies tussen accolades{}
binnen de string. Deze methode maakt het combineren van strings en variabelen in printstatements veel leesbaarder, dus het is de moeite waard om te leren.
Met behulp van je kennis van if/else
, booleaanse operatoren en for
-lussen kun je een eenvoudige voorraadcontrole uitvoeren op een dictionary:
123456789101112131415161718# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary 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.")
Opmerking
Je merkt misschien dat we
if
-statements binnen defor
-lus hebben geplaatst, wat extra inspringing aan hetif
-blok toevoegde. Zoals eerder vermeld, kan elk ingesprongen codeblok als onafhankelijk worden beschouwd, ongeacht waar het is geplaatst. Het belangrijkste is dat de inspringing consistent en correct is tussen de blokken.
Swipe to start coding
Beheer voorraad en promoties in een supermarkt door te itereren over de inventaris, restock-voorwaarden te controleren en promoties toe te passen.
Loop door elk product in de inventory
-dictionary en:
- Als de huidige voorraad van een product kleiner dan of gelijk aan de minimale voorraad is:
- Print een bericht voor het bijvullen.
- Verhoog de voorraad met
20
en werk de waarde bij in de dictionary. - Print vervolgens de bijgewerkte voorraad.
- Gebruik een andere
if
-verklaring om te controleren of het product voorkomt in depromotions
-dictionary en print een bericht. Print anders een bericht dat er geen promotie beschikbaar is.
Uitvoereisen
Voor elk item, print:
--- Processing: <item> ---
- Indien bijvullen nodig is:
<item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>
Updated stock for <item>: <updated_stock>
- Indien promotie bestaat:
Promotion for <item>: <promotion_details>
- Indien niet:
No promotions for <item>
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain the difference between iterating over a list, tuple, and dictionary?
How do I use a for loop to access both keys and values in a dictionary?
Can you give more examples of using for loops with different data types?
Awesome!
Completion rate improved to 2.17
For-loops
Veeg om het menu te tonen
Welkom bij de sectie gewijd aan loops!
In dit hoofdstuk gaan we dieper in op hoe loops dienen als een belangrijk hulpmiddel voor het automatiseren van repetitieve taken en essentieel zijn voor het efficiënt verwerken van lijsten en andere iterabele gegevenstypen.
Sluit je aan bij Alex terwijl hij het gebruik van for
-loops demonstreert om bewerkingen in onze supermarkt te vereenvoudigen:
Het gebruik van for
-loops in Python stelt je in staat om een codeblok herhaaldelijk uit te voeren voor elk item in een collectie (iterabel object). Dit is wat je moet weten over for
-loops:
Syntax
Start een for
-loop met het sleutelwoord for
, gevolgd door een variabelenaam zoals item
om elk element in de reeks te vertegenwoordigen. Dit wordt gevolgd door het sleutelwoord in
en vervolgens het iterabele object, zoals groceryItems
. Het codeblok binnen de loop wordt één keer uitgevoerd voor elk element.
In dit voorbeeld fungeert item
als de iteratorvariabele die elk element in de lijst groceryItems
opeenvolgend benadert en de functie print()
voor elk element uitvoert:
1234groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
Iteratie verwijst naar het proces van herhaaldelijk uitvoeren van een codeblok. Python ondersteunt twee hoofdtypen iteratie:
Definiete iteratie
Waarbij het aantal iteraties vooraf bekend is. for
-lussen zijn hiervan een klassiek voorbeeld en stoppen automatisch wanneer het einde van de reeks is bereikt.
Indefiniete iteratie
Waarbij de uitvoering doorgaat totdat aan een specifieke voorwaarde is voldaan, meestal afgehandeld door while
-lussen, die in het volgende hoofdstuk uitgebreid worden behandeld.
Voorbeeldtoepassingen
for
-lussen in Python kunnen worden gebruikt met elke iterabele (lists
, tuples
, dictionaries
, strings
), waardoor gegevens per element kunnen worden gemanipuleerd.
Of je nu items in een lijst, sleutels of waarden in een dictionary, of tekens in een string wilt benaderen, for
-lussen bieden een duidelijke syntaxis die code vereenvoudigt voor repetitieve taken.
Hier zie je hoe je een for
-lus kunt gebruiken om over de elementen in een string en een tuple te itereren, vergelijkbaar met wat we bij lijsten hebben gezien:
123456789# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
Bij gebruik van een for
-lus met een dictionary, worden standaard de sleutels van de dictionary doorlopen.
Dit is wat er gebeurt wanneer direct over een dictionary wordt geïtereerd:
1234567# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
Merk op dat de iteratorvariabele product
alleen toegang heeft tot de sleutels van het woordenboek.
Om over de waarden van een woordenboek te itereren, kun je de methode values()
gebruiken.
Dit is handig voor bewerkingen waarbij alleen toegang tot de waarden nodig is, zonder verwijzing naar de sleutels:
1234567# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
Als je sleutels en waarden tegelijkertijd wilt benaderen, kun je met de methode items()
door sleutel-waardeparen in een woordenboek itereren.
Om deze methode in een for
-lus te gebruiken, geef je twee variabelen op vóór het in
-trefwoord — één voor de sleutel (product
) en één voor de waarde (stock
):
1234567# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
Opmerking
In dit voorbeeld gebruiken we f-strings (ook wel geformatteerde string-literals genoemd) om variabelen direct in strings te plaatsen. De syntaxis is eenvoudig: voeg een
f
toe vóór het openingsaanhalingsteken"
en plaats variabelen of expressies tussen accolades{}
binnen de string. Deze methode maakt het combineren van strings en variabelen in printstatements veel leesbaarder, dus het is de moeite waard om te leren.
Met behulp van je kennis van if/else
, booleaanse operatoren en for
-lussen kun je een eenvoudige voorraadcontrole uitvoeren op een dictionary:
123456789101112131415161718# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary 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.")
Opmerking
Je merkt misschien dat we
if
-statements binnen defor
-lus hebben geplaatst, wat extra inspringing aan hetif
-blok toevoegde. Zoals eerder vermeld, kan elk ingesprongen codeblok als onafhankelijk worden beschouwd, ongeacht waar het is geplaatst. Het belangrijkste is dat de inspringing consistent en correct is tussen de blokken.
Swipe to start coding
Beheer voorraad en promoties in een supermarkt door te itereren over de inventaris, restock-voorwaarden te controleren en promoties toe te passen.
Loop door elk product in de inventory
-dictionary en:
- Als de huidige voorraad van een product kleiner dan of gelijk aan de minimale voorraad is:
- Print een bericht voor het bijvullen.
- Verhoog de voorraad met
20
en werk de waarde bij in de dictionary. - Print vervolgens de bijgewerkte voorraad.
- Gebruik een andere
if
-verklaring om te controleren of het product voorkomt in depromotions
-dictionary en print een bericht. Print anders een bericht dat er geen promotie beschikbaar is.
Uitvoereisen
Voor elk item, print:
--- Processing: <item> ---
- Indien bijvullen nodig is:
<item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>
Updated stock for <item>: <updated_stock>
- Indien promotie bestaat:
Promotion for <item>: <promotion_details>
- Indien niet:
No promotions for <item>
Oplossing
Bedankt voor je feedback!
Awesome!
Completion rate improved to 2.17single