Python Programm für Umrechnung?
Hallo, ich bearbeite gerade ein Buch für den Einstieg in Python. Ich soll ein Programm programmieren, welches Inch in Zentimeter umrechnet. 1 Inch= 2.54cm
Den Anfang kriege ich hin. Ich weiß nur nicht, wie ich diese Umrechenfunktion in ein Programm übersetzen soll. Also ich verstehe nicht, wie ich das im Programm programmiere, dass sich das umwandeln lässt.
Also bei dem z_Inch= 2.54*z.
Er sagt immer, dass das nicht funktioniert
.
2 Antworten
Hi, ich programmiere kein Python, aber versuchs mal mit:
z_Inch = float(2.54*z)
Die Fehlermeldung sagt dir, daß es ein Problem mit dem Datentyp gibt.
Meine Zeile oben konvertiert das Ergebnis der Rechnung in eine floating point number (float).
Ich empfehle dir neben Phyton noch Datentypen zu lernen, dass ist super wichtig, gerade für sowas.
Datentypen lehrt Python leider nicht wirklich.
Stimmt schon.
Ich bin allerdings mit C# angefangen. Dort muss man den Datentyp der Variable explizit deklarieren, bevor man der Variable einen Wert zuweisen kann.
Klar könnte ich da auch alles mit 'var' machen, aber das mag ich nicht.
Python erlaubt das deklarieren von Variablen ohne Angabe des Datentyps. Das ist wohl mein Problem bei der Sache.
So verstehen Anfänger solche Fehler nicht auf Anhieb, dass wäre bei den C Sprachen oder Java anders, weshalb ich C# oder Java für eine geeignete Anfängersprache halte. Anders als, wie oft empfohlen, Javascript oder Python.
Es hat geklappt. Vielen Dank!:))))))))
Warum nutze ich float?
Sehr schön!
Das Problem war tatsächlich die Eingabe oben.
input() liest eine String-Eingabe, du bekommst also einen Textwert in deine Variable. Für Rechnungen muss diese in ein Zahlenformat konvertiert werden. Das hast du gerade getan.
Alternativ kannst du auch in der Zeile beim input die Eingabe direkt als Zahl speichern:
z=float(input())
Sollte so auch gehen.
Weitermachen! :-)
Der Rückgabewert von input() ist ein String. Du kannst einen String nicht mit einem Float multiplizieren. Wandle z mit float(z) entsprechend um und dann klappt das auch mit dem multiplizieren. Sinnvoll wäre noch zu prüfen, was der User eingegeben hat und ggf. eine Fehlerbehandlung einzubauen. Aber das kann später kommen.
Wieso?
https://www.w3schools.com/python/python_datatypes.asp
Datentypen ist doch ein Thema !