====== 04 ======
===== float =====
Sobald in Python Zahlen mit einem ''.'' eingegeben werden, handelt es sich um eine Fließkommazahl (Dezimalbruch) bzw. ''float''. Auch damit lässt sich natürlich rechnen.
>>> 5*2.4
12.0
>>> 5*2.0
10.0
>>> 5*2.
10.0
===== Typumwandlung =====
Möchte man den Computer Aufgaben rechnen lassen, die von der Eingabe des Benutzers abhängen, so verwendet man wieder den Befehl ''input()''. Der liefert jedoch zunächst einen String, was folgenden Unsinn zur Folge hat. Zunächst das Programm:
x = input("Zahl: ")
print (2*x)
Nun die Ausgabe:
Zahl: 5
55
>>>
Dabei hätten wir doch so gerne 10 herausbekommen!
Das heißt, python arbeitet erst mal nicht freiwillig mit Zahlen sondern nur mit Strings und wir müssen die Strings in Zahlen umwandeln.
==== str in int umwandeln ====
Mit Hilfe des Befehls ''int()'' wird ein ''str'' in einen Integer umgewandelt.:
x = input("Zahl: ")
x = int(x)
print (2*x)
ergibt:
Zahl: 5
10
>>>
Na also! - Aber:
Zahl: 2.3
Traceback (most recent call last):
File "C:/Dokumente und Einstellungen/euteneuer/Desktop/muell.py", line 2, in
x = int(x)
ValueError: invalid literal for int() with base 10: '2.3'
>>>
Dafür brauchen wir Fließkommazahlen:
==== str in float umwandeln ====
x = input("Zahl: ")
x = float(x)
print (2*x)
ergibt:
Zahl: 2.3
4.6
>>>
===== Tipp =====
Kürzerer Code:
x = float(input("Zahl: "))
print (2*x)
Noch kürzerer Code:
print (2*float(input("Zahl: ")))