In gesprek met je programma · oefening
Lees decimale getallen in
int() is bedoeld voor gehele getallen. Als een antwoord een decimale punt kan bevatten, zet je het om met float(). Gebruik in Python een punt als decimaalteken.
distance_text = input("Distance in kilometers: ")
distance = float(distance_text)
Als de persoon 2.5 invoert, is distance_text de string "2.5" en is distance het getal met drijvende komma 2.5.
Kies de omzetting die bij de waarde past
Gebruik int() als het programma een geheel getal verwacht:
number_of_people = int(people_text)
Gebruik float() als een waarde met een deel achter de komma is toegestaan:
temperature = float(temperature_text)
float() kan ook tekst zoals "3" omzetten. Het resultaat is de float 3.0.
int() kan de string "3.5" niet rechtstreeks omzetten, omdat die string geen geheel getal voorstelt. Python meldt een ValueError in plaats van stilzwijgend het deel achter de decimale punt weg te laten.
Reken met de omgezette waarde
Na de omzetting gedraagt het resultaat zich als elke andere float:
distance = float(distance_text)
double_distance = distance * 2
Als distance gelijk is aan 2.5, wordt double_distance gelijk aan 5.0.
Welke instructie zet de tekst "6.25" om in een getal zonder het deel achter de decimale punt te verliezen?
Verdubbel een afstand
Maak het startprogramma af, zodat het:
distance_textomzet in een float met de naamdistance;distancevermenigvuldigt met2en het resultaat opslaat indouble_distance.
Als het antwoord 2.5 is, moet de laatste regel zijn:
Twice that distance is 5.0 kilometers.
Houd de berekening apart van de f-string. Zo zijn de drie stappen van het programma duidelijk te zien: verzamelen, omzetten en rekenen.
Opdracht
Zet distance_text om in een float met de naam distance. Bereken daarna double_distance door distance met 2 te vermenigvuldigen.
Als de invoer 2.5 is, moet de laatste regel zijn:
Twice that distance is 5.0 kilometers.