Im Gespräch mit deinem Programm · Übung
Lies Dezimalzahlen ein
int() ist für ganze Zahlen gedacht. Wenn eine Antwort einen Dezimalpunkt enthalten kann, wandle sie mit float() um.
distance_text = input("Distance in kilometers: ")
distance = float(distance_text)
Wenn die Person 2.5 eingibt, ist distance_text der String "2.5" und distance die Fließkommazahl 2.5.
Wähle die passende Umwandlung für den Wert
Verwende int(), wenn das Programm eine ganze Zahl erwartet:
number_of_people = int(people_text)
Verwende float(), wenn auch ein gebrochener Wert erlaubt sein soll:
temperature = float(temperature_text)
float() kann auch Text wie "3" umwandeln. Das Ergebnis ist der float 3.0.
int() kann den String "3.5" nicht direkt umwandeln, weil dieser String keine ganze Zahl darstellt. Python meldet einen ValueError, statt die Nachkommastellen stillschweigend wegzulassen.
Rechne mit dem umgewandelten Wert
Nach der Umwandlung verhält sich das Ergebnis wie jeder andere float:
distance = float(distance_text)
double_distance = distance * 2
Wenn distance den Wert 2.5 hat, wird double_distance zu 5.0.
Welche Anweisung wandelt den Text "6.25" in eine Zahl um, ohne die Nachkommastellen zu verlieren?
Verdopple eine Entfernung
Vervollständige das Startprogramm, sodass es:
distance_textin einen float namensdistanceumwandelt;distancemit2multipliziert und das Ergebnis indouble_distancespeichert.
Wenn die Antwort 2.5 lautet, soll die letzte Zeile so aussehen:
Twice that distance is 5.0 kilometers.
Halte die Berechnung vom f-String getrennt. So bleiben die drei Schritte des Programms gut erkennbar: erfassen, umwandeln, berechnen.
Aufgabe
Wandle distance_text in einen float namens distance um. Berechne dann double_distance, indem du distance mit 2 multiplizierst.
Wenn die Eingabe 2.5 lautet, soll die letzte Zeile so aussehen:
Twice that distance is 5.0 kilometers.