Eindproject: quiz bouwen
Gebruik de pijlen om tussen de dia's te wisselen.
Tekst van deze dia
PROGRAMMEREN • 3E & 4E MIDDELBAAR
Eindproject: quiz bouwen
Van een idee naar een werkend programma
LES 19 • LEVEL 19
Tekst van deze dia
STARTVRAAG
Stel je dit eens voor…
Een herkenbaar probleem, een slimme oplossing.
HET VERHAAL
Jouw klas krijgt een quiz over games, dieren, muziek of technologie. Jij bent de maker!
Welke kleine stappen heb je nodig om een werkend spel te maken?
Tekst van deze dia
ONZE MISSIE
Vandaag kan jij…
Drie doelen. Helemaal haalbaar, stap voor stap.
1
een project opdelen in kleine stappen
2
vragen en scores combineren
3
een eerste speelbare quiz bouwen
EINDMISSIE • MAAK ZELF IETS!
Tekst van deze dia
NIEUW IDEE
Eerst denken, dan typen
Eerst begrijpen wat de instructie betekent.
Bepaal je onderwerp, vragen en spelregels. Begin met een minimaal werkende versie.
ONTHOUD
Start met één vraag die werkt vóór je uitbreidt.
Tekst van deze dia
LIVE CODEREN
Van idee naar werkende code
Lees mee. Voorspel samen de uitvoer en voer dan uit.
les19_voorbeeld_a.py
score = 0
antwoord = input("Hoofdstad van België? ")
if antwoord.lower() == "brussel":
score += 1
print("Score:", score)
DENKVRAAG
Start met één vraag die werkt vóór je uitbreidt.
Tekst van deze dia
RAAD DE UITVOER
Wat zal Python tonen?
Welke score verschijnt?
voorspel.py
score = 0
score += 1
score += 1
print(f"Score: {score}")
DENK → OVERLEG → ANTWOORD
Tekst van deze dia
OPLOSSING
En dit verschijnt op het scherm!
Vergelijk met je voorspelling.
uitvoer (geen Python-code)
Score: 2
WAAROM?
Elke correcte beantwoorde vraag kan de score met 1 verhogen.
Tekst van deze dia
LEVEL UP
Herhaalbare vragen via een functie
Een extra Python-truc waarmee je meer kunt.
Een functie voorkomt dat je steeds dezelfde logica hoeft te schrijven.
TIP
Een functie kan met True/False aangeven of het antwoord juist is.
Tekst van deze dia
ZO WERKT HET
Nog een codevoorbeeld
Lees de code. Wat verandert er ten opzichte van het vorige voorbeeld?
les19_voorbeeld_b.py
def stel_vraag(vraag, juist):
antwoord = input(vraag).lower()
return antwoord == juist
print(stel_vraag("2+2? ", "4"))
DE TRUC
Een functie kan met True/False aangeven of het antwoord juist is.
Tekst van deze dia
JIJ PROBEERT
Mini-opdrachten
Werk rustig. Test telkens na een kleine wijziging.
1
Kies één quizthema en bedenk drie vragen.
2
Maak minstens één werkende vraag met if.
3
Bewaar en toon een scorevariabele.
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
score = 0
antwoord = input("2 + 2? ")
if antwoord == 4:
score += 1
SPOTTED DE FOUT? • 90 SECONDEN
Tekst van deze dia
DEBUG-OPLOSSING
De verbeterde versie
Kleine correcties kunnen een groot verschil maken.
gecorrigeerd.py
score = 0
antwoord = input("2 + 2? ")
if antwoord == "4":
score += 1
WAT WAS FOUT?
input() geeft tekst terug; vergelijk dus met "4" of zet eerst om.
Tekst van deze dia
EINDMISSIE
Quiz v1: het spel werkt!
Maak een eerste versie met drie zelfgekozen vragen.
1
Toon een titel en spelregels.
2
Stel minstens drie vragen met input().
3
Voeg 1 punt toe per juist antwoord.
4
Toon aan het einde de totaalscore.
EERST WERKEND → DAN MOOIER
Tekst van deze dia
VOORBEELD
Zo kan jouw oplossing eruitzien
Er bestaan meerdere correcte oplossingen. Vergelijk vooral de aanpak.
les19_oplossing.py
score = 0
print("=== PYTHON QUIZ ===")
a = input("2 + 2? ")
if a == "4":
score += 1
b = input("Kleur van de lucht? ")
if b.lower() == "blauw":
score += 1
c = input("Taal van deze cursus? ")
if c.lower() == "python":
score += 1
print(f"Score: {score}/3")
Tekst van deze dia
EXTRA CHALLENGE
Klaar? Level up!
Kies één extra uitdaging of help je klasgenoot met een tip.
BONUSOPDRACHT
Gebruik een functie voor elke vraag en .lower() om hoofdletters op te vangen.
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
Waarom eerst één vraag bouwen?
2
Hoe verhoog je een score?
3
Hoe test je of invoer gelijk is aan tekst?
VOLGENDE KEER Les 20: verbeteren, testen en presenteren