Stap 2: De score (een teller)
Deze stap gebruikt een teller met += uit While-loop, en een f-string uit Slimme berichten met f-strings.
Na de laatste vraag is het programma stil. Je wilt weten hoe je het
deed: Je had 2 van de 3 goed.
Opdracht: hoeveel goed?
Plak je programma uit stap 1 in het veld. Ben je het kwijt, neem dan de oplossing van stap 1.
Tel de goede antwoorden, en print na de laatste vraag de score.
Verwachte uitvoer als je house, three en cat typt:
Wat is huis in het Engels? house
Goed.
Wat is boom in het Engels? three
Fout, het is tree.
Wat is kat in het Engels? cat
Goed.
Je had 2 van de 3 goed.
# Plak hier je programma uit stap 1
Klik hier voor een tip.
Een teller begint vóór de loop, en gaat omhoog bij een goed antwoord. De 3
in de score hoef je niet zelf te tellen: len() werkt ook op een
dictionary, en geeft het aantal paren. Dan klopt de score nog als je er
woorden bij zet.
Klik hier voor de oplossing.
woorden = {"huis": "house", "boom": "tree", "kat": "cat"}
goed = 0
for nederlands, engels in woorden.items():
antwoord = input(f"Wat is {nederlands} in het Engels? ")
if antwoord == engels:
print("Goed.")
goed += 1
else:
print(f"Fout, het is {engels}.")
print(f"Je had {goed} van de {len(woorden)} goed.")
Uitvoer bij house, three en cat:
Wat is huis in het Engels? house
Goed.
Wat is boom in het Engels? three
Fout, het is tree.
Wat is kat in het Engels? cat
Goed.
Je had 2 van de 3 goed.
Voorspel
Je zet de print van de score één keer in, zodat hij in de loop staat. Wat zie je dan?
Na elk woord een score: eerst Je had 1 van de 3 goed., dan nog eens
Je had 1 van de 3 goed. en tot slot Je had 2 van de 3 goed. Alles wat
ingesprongen staat, hoort bij de loop en gebeurt elke ronde. De score hoort
er één keer na.
Kopieer je programma voordat je verdergaat: de editor bewaart het niet.
Door naar stap 3: hoofdletters.