Toeval in Python
Gebruik de pijlen om tussen de dia's te wisselen.
Tekst van deze dia
PROGRAMMEREN • 3E & 4E MIDDELBAAR
Toeval in Python
Dobbelstenen, lootjes en verrassingen
LES 17 • LEVEL 17
Tekst van deze dia
STARTVRAAG
Stel je dit eens voor…
Een herkenbaar probleem, een slimme oplossing.
HET VERHAAL
Een spel zonder verrassingen wordt snel saai. Laat Python een dobbelsteen gooien!
Hoe kiest de computer een toevallig getal?
Tekst van deze dia
ONZE MISSIE
Vandaag kan jij…
Drie doelen. Helemaal haalbaar, stap voor stap.
1
de module random importeren
2
randint() gebruiken
3
een eenvoudig kansspel bouwen
EINDMISSIE • MAAK ZELF IETS!
Tekst van deze dia
NIEUW IDEE
import random geeft extra mogelijkheden
Eerst begrijpen wat de instructie betekent.
Modules bevatten handige functies. randint(a, b) kiest tussen a en b, grenzen inbegrepen.
ONTHOUD
De uitkomst kan verschillen bij elke uitvoering.
Tekst van deze dia
LIVE CODEREN
Van idee naar werkende code
Lees mee. Voorspel samen de uitvoer en voer dan uit.
les17_voorbeeld_a.py
import random
worp = random.randint(1, 6)
print("Je gooide", worp)
DENKVRAAG
De uitkomst kan verschillen bij elke uitvoering.
Tekst van deze dia
RAAD DE UITVOER
Wat zal Python tonen?
Welke resultaten zijn mogelijk?
voorspel.py
import random
getal = random.randint(1, 3)
print(getal)
DENK → OVERLEG → ANTWOORD
Tekst van deze dia
OPLOSSING
En dit verschijnt op het scherm!
Vergelijk met je voorspelling.
uitvoer (geen Python-code)
1, 2 of 3
WAAROM?
Beide grenzen van randint(1, 3) horen erbij.
Tekst van deze dia
LEVEL UP
Random + if = een spelregel
Een extra Python-truc waarmee je meer kunt.
Laat een ander bericht verschijnen bij een hoge of lage worp.
TIP
Test het programma meerdere keren om verschillen te zien.
Tekst van deze dia
ZO WERKT HET
Nog een codevoorbeeld
Lees de code. Wat verandert er ten opzichte van het vorige voorbeeld?
les17_voorbeeld_b.py
import random
worp = random.randint(1, 6)
if worp == 6:
print("JACKPOT!")
else:
print("Worp:", worp)
DE TRUC
Test het programma meerdere keren om verschillen te zien.
Tekst van deze dia
JIJ PROBEERT
Mini-opdrachten
Werk rustig. Test telkens na een kleine wijziging.
1
Laat Python een getal tussen 1 en 10 kiezen.
2
Toon “hoog” bij minstens 6, anders “laag”.
3
Voer meerdere keren uit.
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
import random
worp = randint(1, 6)
print(worp)
SPOTTED DE FOUT? • 90 SECONDEN
Tekst van deze dia
DEBUG-OPLOSSING
De verbeterde versie
Kleine correcties kunnen een groot verschil maken.
gecorrigeerd.py
import random
worp = random.randint(1, 6)
print(worp)
WAT WAS FOUT?
Na import random gebruik je de modulenaam random.randint().
Tekst van deze dia
EINDMISSIE
Dobbelduel
Laat twee spelers elk één virtuele dobbelsteen gooien.
1
Gooi twee getallen met random.randint().
2
Toon beide worpen.
3
Vergelijk de worpen met if/elif/else.
4
Toon wie wint of dat het gelijk is.
EERST WERKEND → DAN MOOIER
Tekst van deze dia
VOORBEELD
Zo kan jouw oplossing eruitzien
Er bestaan meerdere correcte oplossingen. Vergelijk vooral de aanpak.
les17_oplossing.py
import random
a = random.randint(1, 6)
b = random.randint(1, 6)
print("Speler A:", a)
print("Speler B:", b)
if a > b:
print("A wint!")
elif b > a:
print("B wint!")
else:
print("Gelijkspel!")
Tekst van deze dia
EXTRA CHALLENGE
Klaar? Level up!
Kies één extra uitdaging of help je klasgenoot met een tip.
BONUSOPDRACHT
Laat drie rondes spelen met een for-lus.
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
Wat doet import?
2
Is 6 mogelijk bij randint(1, 6)?
3
Waarom kan dezelfde code verschillende resultaten tonen?
VOLGENDE KEER Les 18: fouten slim opvangen