0%

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:

  1. distance_text omzet in een float met de naam distance;

  2. distance vermenigvuldigt met 2 en het resultaat opslaat in double_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.