Iemand schrijft een programma dat aan de gebruiker vraagt hoeveel kilogram zout er nog in de waterverzachter zit. Vervolgens kan je het zout aanvullen met zakken van een willekeurig aantal kilogram. De waterverzachter kan maximaal 100 kg zout bevatten. Als je een zoutzak wil toevoegen waardoor het toegelaten gewicht (100 kg) overschreden wordt, dan stopt het programma. Het programma schrijft uit hoeveel zoutzakken er gebruikt werden en hoeveel kilogram zout er nu in de waterverzachter zit.

zout = int(input("Gewicht zout in waterverzachter: "))
aantal_zakken = 0

gewicht_zoutzak = int(input("Gewicht zak zout: "))
if zout + gewicht_zoutzak <= 100:
    zout += gewicht_zoutzak
    aantal_zakken += 1
    gewicht_zoutzak = int(input("Gewicht zak zout: "))
if zout + gewicht_zoutzak <= 100:
    zout += gewicht_zoutzak
    aantal_zakken += 1
    gewicht_zoutzak = int(input("Gewicht zak zout: "))
if zout + gewicht_zoutzak <= 100:
    zout += gewicht_zoutzak
    aantal_zakken += 1
    gewicht_zoutzak = int(input("Gewicht zak zout: "))
if zout + gewicht_zoutzak <= 100:
    zout += gewicht_zoutzak
    aantal_zakken += 1
    gewicht_zoutzak = int(input("Gewicht zak zout: "))
if zout + gewicht_zoutzak <= 100:
    zout += gewicht_zoutzak
    aantal_zakken += 1
    gewicht_zoutzak = int(input("Gewicht zak zout: "))

print(f"{aantal_zakken=} {zout=}")

Je merkt onmiddellijk een aantal problemen op aan dit programma:

In plaats van dezelfde instructies steeds opnieuw te schrijven, kan je met een lus dezelfde instructies meerdere keren achter elkaar uitvoeren. Dit heeft een aantal voordelen:

Vandaar dat de lus een belangrijke controlestructuur is. In het onderstaande diagram wordt een lus getoond.

lus

In het diagram wordt de conditie of booleaanse expressie geƫvalueerd.

Lus

Een lus of herhaling is een controlestructuur waarmee je een aantal statements meerdere keren kunt herhalen, zolang aan een bepaalde voorwaarde wordt voldaan. Er zijn twee soorten herhalingen:

  • Begrensde herhaling: een aantal statements wordt een vast aantal keren uitgevoerd.
  • Voorwaardelijke herhaling: een aantal statements wordt herhaald zolang een bepaalde voorwaarde waar is.

In beide gevallen wordt nagegaan of aan een bepaalde conditie voldaan wordt. Indien dit het geval is wordt de lus opnieuw uitgevoerd. Die conditie waaraan voldaan moet worden, is net zoals bij de selectie ook een booleaanse expressie.