Herhalen met for
Gebruik de pijlen om tussen de dia's te wisselen.
Tekst van deze dia
PROGRAMMEREN • 3E & 4E MIDDELBAAR
Herhalen met for
Laat Python het saaie werk doen
LES 11 • LEVEL 11
Tekst van deze dia
STARTVRAAG
Stel je dit eens voor…
Een herkenbaar probleem, een slimme oplossing.
HET VERHAAL
Je moet 10 keer “Welkom!” tonen. Ga je echt 10 print()-regels schrijven?
Hoe vertel je Python hoe vaak iets moet gebeuren?
Tekst van deze dia
ONZE MISSIE
Vandaag kan jij…
Drie doelen. Helemaal haalbaar, stap voor stap.
1
een for-lus lezen
2
range() gebruiken
3
een lus combineren met berekeningen
EINDMISSIE • MAAK ZELF IETS!
Tekst van deze dia
NIEUW IDEE
for herhaalt een codeblok
Eerst begrijpen wat de instructie betekent.
Met range(5) loopt de teller van 0 tot en met 4.
ONTHOUD
range(5) bevat 5 getallen, maar 5 zelf niet.
Tekst van deze dia
LIVE CODEREN
Van idee naar werkende code
Lees mee. Voorspel samen de uitvoer en voer dan uit.
les11_voorbeeld_a.py
for teller in range(5):
print("Ronde", teller)
DENKVRAAG
range(5) bevat 5 getallen, maar 5 zelf niet.
Tekst van deze dia
RAAD DE UITVOER
Wat zal Python tonen?
Welke drie getallen zie je?
voorspel.py
for nummer in range(1, 4):
print(nummer)
DENK → OVERLEG → ANTWOORD
Tekst van deze dia
OPLOSSING
En dit verschijnt op het scherm!
Vergelijk met je voorspelling.
uitvoer (geen Python-code)
1
2
3
WAAROM?
Bij range(start, stop) hoort stop zelf er niet bij.
Tekst van deze dia
LEVEL UP
Een teller groeit automatisch
Een extra Python-truc waarmee je meer kunt.
De lusvariabele verandert bij elke ronde. Je kunt ermee rekenen.
TIP
Een lus spaart veel herhaald schrijfwerk uit.
Tekst van deze dia
ZO WERKT HET
Nog een codevoorbeeld
Lees de code. Wat verandert er ten opzichte van het vorige voorbeeld?
les11_voorbeeld_b.py
for getal in range(1, 6):
print(getal, "x 2 =", getal * 2)
DE TRUC
Een lus spaart veel herhaald schrijfwerk uit.
Tekst van deze dia
JIJ PROBEERT
Mini-opdrachten
Werk rustig. Test telkens na een kleine wijziging.
1
Toon vijf keer “Python is leuk”.
2
Toon de getallen van 1 tot en met 10.
3
Toon de tafel van 3 voor de getallen 1 t.e.m. 5.
6–8 MINUTEN • EERST ZELF
Tekst van deze dia
DEBUGCHALLENGE
Python zegt: er is iets mis!
Speel detective: zoek de fout vóór je het programma uitvoert.
zoek_de_fout.py
for getal in range(1, 6)
print(getal)
SPOTTED DE FOUT? • 90 SECONDEN
Tekst van deze dia
DEBUG-OPLOSSING
De verbeterde versie
Kleine correcties kunnen een groot verschil maken.
gecorrigeerd.py
for getal in range(1, 6):
print(getal)
WAT WAS FOUT?
Een for-regel eindigt op een dubbele punt.
Tekst van deze dia
EINDMISSIE
Tafelsimulator
Maak een programma dat de tafel van een getal afdrukt.
1
Vraag een getal als int.
2
Gebruik for en range(1, 11).
3
Bereken getal * teller.
4
Toon tien leesbare resultaten.
EERST WERKEND → DAN MOOIER
Tekst van deze dia
VOORBEELD
Zo kan jouw oplossing eruitzien
Er bestaan meerdere correcte oplossingen. Vergelijk vooral de aanpak.
les11_oplossing.py
getal = int(input("Welke tafel? "))
for teller in range(1, 11):
uitkomst = getal * teller
print(getal, "x", teller, "=", uitkomst)
Tekst van deze dia
EXTRA CHALLENGE
Klaar? Level up!
Kies één extra uitdaging of help je klasgenoot met een tip.
BONUSOPDRACHT
Maak een variant die om de twee getallen telt.
Het werkt — Test je programma met normale invoer.
Maak het sterker — Test ook eens een onverwacht antwoord.
Maak het eigen — Pas namen, teksten of vormgeving aan.
Tekst van deze dia
CHECK-OUT
Wat neem je mee?
Antwoord zonder spiekbriefje. Je hoeft niet alles al perfect te kunnen.
1
Hoe vaak loopt range(4)?
2
Waarom staat na for een :?
3
Welke getallen geeft range(2, 5)?
VOLGENDE KEER Les 12: doorgaan met while