Input & getallen
Gebruik de pijlen om tussen de dia's te wisselen.
Tekst van deze dia
PROGRAMMEREN • 3E & 4E MIDDELBAAR
Input & getallen
Jouw programma stelt de vragen
LES 05 • LEVEL 05
Tekst van deze dia
STARTVRAAG
Stel je dit eens voor…
Een herkenbaar probleem, een slimme oplossing.
HET VERHAAL
Jij kiest het aantal bioscooptickets. De prijs verschijnt automatisch.
Waarom kun je niet zomaar rekenen met het antwoord van input()?
Tekst van deze dia
ONZE MISSIE
Vandaag kan jij…
Drie doelen. Helemaal haalbaar, stap voor stap.
1
invoer met input() lezen
2
tekst omzetten met int() en float()
3
een interactief rekenprogramma maken
EINDMISSIE • MAAK ZELF IETS!
Tekst van deze dia
NIEUW IDEE
input() geeft tekst terug
Eerst begrijpen wat de instructie betekent.
Ook als je 12 intypt, is het resultaat eerst een str. Met int() maak je er een geheel getal van.
ONTHOUD
int("12") wordt het getal 12. int("twaalf") geeft een fout.
Tekst van deze dia
LIVE CODEREN
Van idee naar werkende code
Lees mee. Voorspel samen de uitvoer en voer dan uit.
les05_voorbeeld_a.py
leeftijd = input("Leeftijd? ")
print(type(leeftijd))
getal = int(leeftijd)
print(getal + 1)
DENKVRAAG
int("12") wordt het getal 12. int("twaalf") geeft een fout.
Tekst van deze dia
RAAD DE UITVOER
Wat zal Python tonen?
Wat verschijnt wanneer je 3 intypt?
voorspel.py
aantal = input("Aantal? ")
print(aantal * 2)
DENK → OVERLEG → ANTWOORD
Tekst van deze dia
OPLOSSING
En dit verschijnt op het scherm!
Vergelijk met je voorspelling.
uitvoer (geen Python-code)
WAAROM?
Een string vermenigvuldigd met 2 wordt herhaald: "3" * 2 is "33".
Tekst van deze dia
LEVEL UP
int() of float()?
Een extra Python-truc waarmee je meer kunt.
Gebruik int() bij gehele aantallen en float() bij bedragen met decimalen.
TIP
Bij float() schrijf je 2.50 in plaats van 2,50.
Tekst van deze dia
ZO WERKT HET
Nog een codevoorbeeld
Lees de code. Wat verandert er ten opzichte van het vorige voorbeeld?
les05_voorbeeld_b.py
tickets = int(input("Tickets? "))
prijs = float(input("Prijs? "))
print("Totaal:", tickets * prijs)
DE TRUC
Bij float() schrijf je 2.50 in plaats van 2,50.
Tekst van deze dia
JIJ PROBEERT
Mini-opdrachten
Werk rustig. Test telkens na een kleine wijziging.
1
Vraag een geheel aantal koekjes en tel er 5 bij.
2
Vraag de prijs van één drankje met float().
3
Bereken de prijs voor 3 drankjes.
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
leeftijd = input("Leeftijd? ")
volgend_jaar = leeftijd + 1
print(volgend_jaar)
SPOTTED DE FOUT? • 90 SECONDEN
Tekst van deze dia
DEBUG-OPLOSSING
De verbeterde versie
Kleine correcties kunnen een groot verschil maken.
gecorrigeerd.py
leeftijd = int(input("Leeftijd? "))
volgend_jaar = leeftijd + 1
print(volgend_jaar)
WAT WAS FOUT?
input() is tekst; eerst omzetten naar een int.
Tekst van deze dia
EINDMISSIE
Mini-ticketautomaat
Laat de gebruiker zelf een aantal tickets kiezen.
1
Vraag hoeveel tickets iemand wil.
2
Zet de invoer om naar int.
3
Bereken het totaal bij 8 euro per ticket.
4
Toon een duidelijk betaaloverzicht.
EERST WERKEND → DAN MOOIER
Tekst van deze dia
VOORBEELD
Zo kan jouw oplossing eruitzien
Er bestaan meerdere correcte oplossingen. Vergelijk vooral de aanpak.
les05_oplossing.py
aantal = int(input("Hoeveel tickets? "))
prijs = 8
totaal = aantal * prijs
print("Tickets:", aantal)
print("Te betalen:", totaal, "euro")
Tekst van deze dia
EXTRA CHALLENGE
Klaar? Level up!
Kies één extra uitdaging of help je klasgenoot met een tip.
BONUSOPDRACHT
Vraag ook de ticketprijs met float().
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
Welk type geeft input() terug?
2
Wanneer gebruik je int()?
3
Hoe noteer je 3,5 in Python?
VOLGENDE KEER Les 06: slimme tekst en f-strings