Lussen zijn een van de meest belangrijke onderdelen van programmeren. Ze geven je de kracht om herhalende taken automatisch te laten uitvoeren. Stel je voor: in plaats van dezelfde code tien keer te typen, kun je een lus schrijven die het werk voor je doet! 🎉
Python heeft twee hoofdtypen lussen: for en while. Daarnaast kun je deze lussen aanpassen met break en continue om nog meer controle te krijgen. Laten we erin duiken!
De for-lus #
De for-lus wordt gebruikt om door een reeks items te itereren, zoals een lijst, een string, of een reeks getallen.
Hoe werkt een for-lus? #
Met een for-lus loop je door elk item in een reeks, één voor één.
Eenvoudig voorbeeld:
namen = ["Alice", "Bob", "Charlie"]
for naam in namen:
print(f"Hallo, {naam}!")
PythonWat gebeurt hier?
- Python pakt het eerste item uit de lijst (
"Alice"
) en voert de code uit. - Daarna pakt het het tweede item (
"Bob"
) en herhaalt dit. - Dit gaat door totdat alle items zijn verwerkt.
For-loop met index én item #
Soms wil je niet alleen het item, maar ook de index weten (bijvoorbeeld de positie in de lijst). Met de functie enumerate()
kun je zowel de index als het item ophalen.
Voorbeeld met index:
namen = ["Alice", "Bob", "Charlie"]
for index, naam in enumerate(namen):
print(f"Persoon {index + 1}: {naam}")
PythonWat gebeurt hier?
enumerate(namen)
geeft een paar terug: de index (bijvoorbeeld0
) en het item ("Alice"
).- We voegen
+1
toe aan de index om te beginnen bij 1 in plaats van 0.
For-loop met alleen de index #
Wil je een lus uitvoeren over een reeks getallen? Gebruik dan de functie range()
.
Voorbeeld met alleen de index:
for i in range(5):
print(f"Dit is iteratie nummer {i}")
PythonWat gebeurt hier?
range(5)
genereert de getallen0
tot4
.- De variabele
i
krijgt bij elke iteratie een nieuw getal.
Een ander voorbeeld is iets complexer en heeft weer een lijst maar in dit geval alleen maar een index. Zo zie je hoe je een item zelf handmatig uit deze lijst pakt door een nieuwe variabele te gebruiken samen met de lijst en index:
dieren = ["hond", "kat", "papegaai", "vis", "konijn"]
for i in range(len(dieren)):
dier = dieren[i]
print(f"Index {i} bevat het dier: {dier}")
PythonWat gebeurt hier?
len(dieren)
geeft het aantal items in de lijst terug (in dit geval 5).range(len(dieren))
genereert een reeks getallen van0
tot4
(de indexen van de lijst).dieren[i]
geeft toegang tot het item in de lijst dat bij die index hoort.
De volgende uitvoer is dan ook wel te zien voor dit stukje code:
Index 0 bevat het dier: hond
Index 1 bevat het dier: kat
Index 2 bevat het dier: papegaai
Index 3 bevat het dier: vis
Index 4 bevat het dier: konijn
PythonDe while-loop #
Een while-lus blijft draaien zolang een voorwaarde waar is. Dit maakt het ideaal voor situaties waarin je niet van tevoren weet hoe vaak de lus moet draaien.
Voorbeeld:
nummer = 1
while nummer <= 5:
print(f"Nummer: {nummer}")
nummer += 1 # Verhoog het nummer met 1
PythonWat gebeurt hier?
- Zolang
nummer
kleiner of gelijk is aan 5, blijft de lus draaien. - Elke keer wordt
nummer
met 1 verhoogd. Alsnummer
groter wordt dan 5, stopt de lus.
Break en Continue #
Break: Een lus voortijdig stoppen #
Met break kun je een lus vroegtijdig verlaten, ongeacht of deze normaal nog zou doorgaan.
Voorbeeld:
for i in range(10):
if i == 5:
print("We stoppen hier!")
break
print(i)
PythonWat gebeurt hier?
- De lus draait normaal tot
i
gelijk is aan 5. - Zodra de voorwaarde
i == 5
waar is, breekt de lus metbreak
.
Continue: Een iteratie overslaan #
Met continue kun je de rest van de huidige iteratie overslaan en doorgaan met de volgende.
Voorbeeld:
for i in range(10):
if i % 2 == 0: # Als het getal even is
continue # Sla deze iteratie over
print(i)
PythonWat gebeurt hier?
- Als
i
een even getal is, wordt deprint()
-regel overgeslagen. - De lus gaat direct door naar het volgende getal.
Praktische voorbeelden #
Voorbeeld 1: Door een lijst itereren
dieren = ["hond", "kat", "papegaai"]
for dier in dieren:
print(f"Ik heb een {dier}.")
PythonUitvoer:
Ik heb een hond.
Ik heb een kat.
Ik heb een papegaai.
PythonVoorbeeld 2: Cijfers optellen
getallen = [1, 2, 3, 4, 5]
som = 0
for getal in getallen:
som += getal
print(f"De som is: {som}")
PythonUitvoer:
De som is: 15
PythonVoorbeeld 3: Een wachtwoord raden (while-lus)
wachtwoord = "geheim"
poging = ""
while poging != wachtwoord:
poging = input("Voer het wachtwoord in: ")
print("Toegang verleend!")
PythonWat gebeurt hier?
- De lus blijft draaien totdat de gebruiker het juiste wachtwoord invoert.
Veelvoorkomende fouten en tips #
- Vergeet de lus niet te beëindigen:
In een while-lus, vergeet niet de voorwaarde te veranderen. Anders kun je vastlopen in een oneindige lus.
Voorbeeld:
x = 1
while x < 5:
print(x)
x += 1 # Zorg ervoor dat x verandert!
Python- Gebruik inspringing correct:
Alles binnen de lus moet correct zijn ingesprongen. Onjuiste inspringing leidt tot fouten of onverwacht gedrag. - Maak gebruik van functies zoals
enumerate()
enrange()
:
Deze tools maken het itereren over lijsten en getallenreeksen veel eenvoudiger.
Samenvatting #
Met lussen kun je repetitieve taken efficiënt uitvoeren, of het nu gaat om het doorlopen van een lijst, het uitvoeren van een actie zolang een voorwaarde waar is, of het vroegtijdig stoppen van een lus. Het zijn krachtige hulpmiddelen die je programmeren écht laten leven. Experimenteer met de voorbeelden en ontdek wat je allemaal kunt automatiseren! 🚀