Ga naar hoofdinhoud

Stap 4: Een echt geheim (de module random)

info

Deze stap gebruikt import uit Modules importeren.

Het geheim is altijd 37. Wie het spel één keer heeft gespeeld, raadt het de tweede keer meteen. De computer moet zelf een getal kiezen, en elke keer een ander.

Daarvoor heeft Python de module random. De functie randint daarin geeft een willekeurig geheel getal:

import random

print(random.randint(1, 6))

Dat is een dobbelsteen: elke keer dat je op Uitvoeren drukt, komt er een getal van 1 tot en met 6. Let op het verschil met range: bij randint kan het tweede getal zelf ook uitkomen, dus 6 is een mogelijke worp.

import random

print(random.randint(1, 6))

Opdracht: de computer kiest​

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

Laat de computer een geheim getal van 1 tot en met 100 kiezen in plaats van 37. De rest van je programma hoeft niet te veranderen. Een spel kan dan zo gaan:

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
Te hoog.
Raad een getal van 1 tot 100: 31
Geraden in 4 pogingen.

Bij jou is het geheime getal waarschijnlijk anders, dus ook wat de computer zegt.

# Plak hier je programma uit stap 3
Klik hier voor een tip.

Kijk naar de dobbelsteen hierboven: wat moet je anders doen voor een getal van 1 tot en met 100? En waar in je programma moet de module erbij komen?

Wil je testen of je programma klopt, print dan tijdelijk het geheim. Dan weet je wat je moet raden. Haal die regel weg als het werkt, anders is er niets meer te raden.

Klik hier voor de oplossing.
import random

geheim = random.randint(1, 100)
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.")

Een spel kan zo gaan:

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
Te hoog.
Raad een getal van 1 tot 100: 31
Geraden in 4 pogingen.

Er gaat iets mis​

NameError: name 'random' is not defined. Did you forget to import 'random'?

Oorzaak: je gebruikt random.randint, maar de regel import random ontbreekt, of staat onder de plek waar je hem gebruikt.

Oplossing: zet import random op de eerste regel van je programma.

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

Door naar stap 5: stoppen met stop.