Als developer die net met Python begint, wil ik weten welke basistypes er zijn, hoe ik invoer inlees en hoe ik tekst opmaak met f-strings, zodat ik gegevens kan verwerken zonder dat mijn berekeningen stuklopen op het verkeerde type.
Je vraagt de gebruiker om een getal. Hij typt netjes 50. Je rekent ermee en je script crasht. Want wat je terugkreeg was geen getal — het was tekst. Altijd. Ook als er cijfers in staan.
usage = input("Disk usage percentage: ")
print(usage + 10)
# De gebruiker typt: 50
# TypeError: can only concatenate str (not "int") to str
De gebruiker typte 50. Maar input() geeft altijd een string
terug. Je hebt dus "50", niet 50.
Je zet de tekst zelf om naar een getal. Dat heet casten. Je gebruikt daarvoor
int():
usage = int(input("Disk usage percentage: "))
print(usage + 10) # 60 — nu klopt het
De drie functies die je nodig hebt:
| Functie | Maakt er een | Voorbeeld |
|---|---|---|
int() | heel getal van | int("50") → 50 |
float() | kommagetal van | float("1.5") → 1.5 |
str() | tekst van | str(50) → "50" |
int("50") werkt. int("fifty") geeft een ValueError. Python kan van
een wóórd geen getal maken. In sprint 4 leer je hoe je dat netjes opvangt.
Test hoe casten werkt. En waar het misgaat.
"50" + 10 — de crash die je in je script kreeg.int("50") + 10 — nu met een cast.type(int("50")) — welk type is het nu?int("fifty") — een woord casten.int(1.9) — rondt dit af?float("1,5") — met een komma.Schrijf een script dat de gebruiker twee dingen vraagt:
Reken daarna uit hoeveel uur er nog gelogd kan worden. Print het antwoord.
Bouw het script eerst zonder casten. Laat het crashen. Lees de foutmelding. Los het daarna op.
Acceptatiecriteria
input().int en de tweede naar float.#. De foutmelding staat
er als commentaar bij.type(), zodat je kunt bewijzen dat de cast
gelukt is.snake_case.