Een nieuw geleerd programmeerconcept kan je vaardigheden naar een geheel nieuw niveau tillen. Als je al vertrouwd bent met for-lussen, is het tijd om je met een andere centrale bouwsteen van programmeren bezig te houden: de while-lussen. In deze gids leer je wat while-lussen zijn, hoe ze werken en hoe je ze effectief in je Python-code kunt gebruiken.
Belangrijkste inzichten
- While-lussen herhalen de uitvoering van een code zolang aan een bepaalde voorwaarde wordt voldaan.
- Het is cruciaal dat de lus op een bepaald moment stopt om oneindige lussen te voorkomen.
- Met break, continue en pass kun je het gedrag van while-lussen regelen.
Basisprincipes van de while-lus
De while-lus is een van de basissoorten lussen in Python, waarmee je een codeblok herhaaldelijk kunt uitvoeren zolang een voorwaarde van kracht blijft. In tegenstelling tot de for-lus herhaalt de while-lus de uitvoering niet voor een vast aantal iteraties, maar zolang het de logica van je programma vereist.
Syntax van de while-lus
Hieronder zal ik je de structuur van een while-lus nader toelichten.

Eerst definieer je een voorwaarde die gecontroleerd wordt. Als de voorwaarde True (waar) is, wordt het codeblok binnen de lus uitgevoerd. Na elke doorloop wordt de voorwaarde opnieuw gecontroleerd.
Een eenvoudig voorbeeld

Bij elke doorloop wordt x verhoogd en de huidige waarde van x wordt weergegeven. Dit gaat zo lang door totdat de voorwaarde niet meer waar is.
Einde van de lus
Het is belangrijk dat de lus op een bepaald moment stopt en de voorwaarde False wordt. Anders creëer je een oneindige lus die je programma kan laten vastlopen. Om dit te voorkomen, zorg ervoor dat de variabele die je controleert daadwerkelijk wordt verandert, zodat de voorwaarde niet altijd True blijft.

Else-blok in while-lussen
Een ander nuttig aspect van while-lussen is het gebruik van een else-blok. Dit blok wordt uitgevoerd wanneer de lus eindigt en de voorwaarde niet meer wordt vervuld.

Als je de bovenstaande code uitvoert, wordt aan het einde van de lus het bericht "De doorloop is voltooid." weergegeven.
Regelen van lussen met break en continue
In complexere programma's kan het nodig zijn om het gedrag van while-lussen verder te regelen. Hier komen de commando's break, continue en pass in beeld.
Break
Met het break-commando kun je een lus handmatig onderbreken. Als je aan een bepaalde voorwaarde voldoet, kun je de lus voortijdig verlaten.

In dit voorbeeld wordt de lus onderbroken zodra x de waarde 2 bereikt, zodat alleen x = 0 en x = 1 worden weergegeven.
Continue
Het continue-commando daarentegen slaat de huidige iteratie over en gaat direct naar de volgende.

In dit geval wordt x = 2 niet weergegeven, omdat de uitvoering naar de volgende iteratie springt zodra de waarde van x 2 bereikt.
Pass
Het pass-commando wordt gebruikt om een blokinstructie leeg te houden zonder iets uit te voeren. Het is nuttig als je een plaatsvervanger nodig hebt en nog niet zeker weet wat daar moet worden uitgevoerd.

In dit voorbeeld heeft de while-lus een voorwaarde die voor x = 2 niets verandert, maar de code blijft complicatieloos.
Samenvatting – While-lussen in Python: Een gids voor beginners
In deze gids heb je de basisprincipes van while-lussen in Python geleerd. Je weet nu hoe je een while-lus definieert, wat de syntax is, en welke functies zoals break, continue en pass beschikbaar zijn voor de effectieve regeling van de lussen. Vergeet niet dat je altijd moet zorgen dat je lus op een gegeven moment stopt om oneindige lussen te voorkomen.
Veelgestelde vragen
Hoe werkt een while-lus?Een while-lus herhaalt de uitvoering van een codeblok zolang aan een bepaalde voorwaarde wordt voldaan.
Wat is het verschil tussen break en continue?Break onderbreekt de lus volledig, terwijl continue de huidige iteratie overslaat en naar de volgende springt.
Hoe voorkom ik oneindige lussen in mijn code?Zorg ervoor dat de voorwaarde van de while-lus op een gegeven moment niet meer waar is door de gecontroleerde variabele dienovereenkomstig te wijzigen.
Schade het gebruiken van pass mijn lus?Nee, pass is een plaatsvervanger en heeft geen invloed op het gedrag van je lus. Het dient alleen om syntaxfouten te voorkomen.
Wat gebeurt er als ik de voorwaarde van een while-lus van begin af aan niet voldoe?Als de voorwaarde tijdens de eerste doorloop niet wordt vervuld, wordt het codeblok van de lus nooit uitgevoerd, maar het else-blok kan mogelijk worden uitgevoerd als dit is gedefinieerd.