Python

Loops

Leerdoelen

  • Leren omgaan met het for statement
  • Leren omgaan met het while statement
  • Leren omgaan met het break statement
  • Leren omgaan met het continue statement

Loops

  • Herhaalt een stuk code
    • Onder voorwaarde
      • De conditie
  • Zolang de conditie waar is doorlopen we het code block
  • 2 soorten loops:
    • While
    • For

While-loops

  • geef je een conditie op die bereikt moet worden
    • True moet zijn
  • kan worden gebruikt als het aantal iteraties niet bekend is
  • Voorbeeld:
    teller = 1
    while teller < 4:
        print("Herhaling:",teller)
        teller += 1

De oneindige loop

while True:
    print("Press CTRL-C om te stoppen")

Optellen

teller = 1
while teller < 4:
    print("Herhaling:",teller)
    teller += 1

Lijsten doorlopen

getallen = [10, 20, 30, 40]
index = 0

while index < len(getallen):
    print(getallen[index])
    index += 1

Boekhouden

saldo = 100

while saldo > 0:
    bedrag = int(input("Hoeveel wil je opnemen? "))
    
    if bedrag > saldo:
        print("Onvoldoende saldo")
    else:
        saldo -= bedrag
        print("Nieuw saldo:", saldo)

    if saldo == 0:
        print("Saldo is 0. Programma stopt.")
        exit()

Waarom?

  • Als je niet van te voren weet hoe vaak je door een loop moet
  • Als je weet aan welke conditie voldaan moet worden om de loop te laten eindigen

Hoe?

  • De loop variable moet vooraf gedefinieerd zijn
  • Een while-loop stopt zodra de opgegeven conditie niet meer geldig is
    • Het is van belang dat de gegeven eind conditie ooit bereikt wordt
    • Anders heb je een oneindige loop

For-loops

  • Je geeft op welke waarden doorlopen moeten worden
    • Pas als alle elementen doorlopen zijn wordt de conditie True
  • Wordt gebruikt als het aantal iteraties bekend is
  • Voorbeeld:
    a=[0,1,2,3,4,5,6]
    for i in a:
        print("Nummer:",i)

Ranges

  • Werken met een range:
    for i in range(7):
        print("Nummer:",i)

Lists

lijstje=["aap","noot","mies","wim","zus"]
for i in lijstje:
    print("Item:",i)

Waarom?

  • Als je van te voren weet hoe vaak je door een loop moet lopen
  • Als er een sequentie is (list, tuple, string, range)
    • voert het code block uit voor elk item in de sequentie

Hoe?

  • De loop variable is beschikbaar in de loop
  • Een for-loop zal doorgaan totdat alle elementen doorlopen zijn
  • Een For-loop stopt als het laatste item is bereikt

Continue

  • Het overslaan van een stap
  • Voorbeeld:
    for i in range(10):
        if i == 5:
            continue
        print(i)
  • Sla op als continue.py

Break

  • Het voortijdig stoppen van een loop
  • Voorbeeld:
    for i in range(10):
        if i == 5:
            break
        print(i)
  • Sla op als break.py

Samenvatting

  • We hebben leren werken met while-loops en for-loops
  • We hebben geleerd dat for-loops gebruikt worden om een lijstje te doorlopen
  • We hebben geleerd dat while-loops gebruikt worden als we niet weten hoevaak we code moeten herhalen
  • Met break kunnen we een loop afbreken
  • Met continue kunnen we stappen overslaan
  For-loop While-loop
Gebruik Als het aantal iteraties bekend is Als er aan een bepaalde conditie voldaan moet worden
Initialisatie Gedefinieerd in de loop (in de conditie) Gedefinieerd voor de loop
Conditie Controle voor elke iteratie Controle voor elke iteratie
Update Na elke iteratie (conditie) In de loop (expliciet zetten)
Scope Wordt bepaald door de loop body Moet expliciet gedaan worden