De while-lus gebruik je om een stuk codetaal te herhalen tot er aan een bepaalde voorwaarde voldaan is.
Dit kan een vast aantal zijn (waardoor dit heel hard op een FOR-lus lijkt) maar ook een woord of een bepaalde uitkomst van een formule.
In dat geval zal het programma blijven herhalen tot dat bepaald woord ingevoerd is of tot die uitkomst bereikt is.
Het verschil met de for-lus is dat je hierbij niet op voorhand moet weten hoe vaak de code herhaald moet worden.
Het voorbeeld hieronder is een programma dat cijfers optelt tot de som gelijk is of meer is dan 100:
som = 0
while som < 100:
a = int(input("geef getal"))
som += a
print ("100 is bereikt")
In dit voorbeeld wordt de variabele som eerst op 0 gezet (maar dit kan elke beginwaarde zijn, naargelang je programma)
ZOLANG (while) de som kleiner is dan 100
input van een cijfer door de gebruiker
variabele som wordt verhoogd met de ingevoerde waarde uit de regel erboven
deze regel wordt uitgevoerd als de herhaling gestopt is (dus als de som 100 of meer is geworden)
De opdracht
Maak een programma dat cijfers optelt tot 100 bereikt is. Als uitvoer zegt het programma hoeveel cijfers dit waren.
Invoer
Een onbekend aantal gehele getallen
Uitvoer
Een zin met daarin het aantal cijfers die nodig waren om 100 of meer te bereiken
Voorbeeld 1
Invoer:
80
10
15
Uitvoer:
105 is bereikt met 3 cijfers
Voorbeeld 2
Invoer:
20
20
20
20
20
Uitvoer:
100 is bereikt met 5 cijfers