Ga naar hoofdinhoud

Stap 3: Pogingen tellen (een teller)

info

Deze stap gebruikt een teller met += uit While-loop, en een f-string uit Slimme berichten met f-strings.

Geraden. is wat kaal. Een spel wordt pas spannend als je kunt zien hoe goed je was: Geraden in 3 pogingen. Daarvoor tel je mee.

Opdracht: hoeveel pogingen?​

Plak je programma uit stap 2 in het veld. Ben je het kwijt, neem dan de oplossing van stap 2.

Tel elke gok, en zeg bij een goede gok hoeveel pogingen het waren.

Verwachte uitvoer als je 50, 25 en 37 typt:

Raad een getal van 1 tot 100: 50
Te hoog.
Raad een getal van 1 tot 100: 25
Te laag.
Raad een getal van 1 tot 100: 37
Geraden in 3 pogingen.
# Plak hier je programma uit stap 2
Klik hier voor een tip.

Een teller heeft twee plekken in je programma: één waar hij begint, en één waar er 1 bij komt. Welke van de twee hoort in de loop, en welke erboven? Elke gok telt, ook een foute.

Klik hier voor de oplossing.
geheim = 37
gok = 0
pogingen = 0
while gok != geheim:
gok = int(input("Raad een getal van 1 tot 100: "))
pogingen += 1
if gok > geheim:
print("Te hoog.")
elif gok < geheim:
print("Te laag.")
else:
print(f"Geraden in {pogingen} pogingen.")

Uitvoer bij 50, 25 en 37:

Raad een getal van 1 tot 100: 50
Te hoog.
Raad een getal van 1 tot 100: 25
Te laag.
Raad een getal van 1 tot 100: 37
Geraden in 3 pogingen.

Voorspel​

Je zet pogingen = 0 in de loop, direct boven de input. Wat zegt het programma na drie gokken?

Geraden in 1 pogingen. Elke ronde zet die regel de teller terug op 0, en daarna komt er 1 bij. Zo telt hij nooit verder dan 1. Een teller begint dus altijd boven de loop.

Kopieer je programma voordat je verdergaat: de editor bewaart het niet.

Door naar stap 4: een geheim getal.