Python Programm für Umrechnung?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:Berufserfahrung – Ich bin Entwickler.

MelindaPries 
Fragesteller
 06.02.2023, 22:27

Bei float sagt er das Gleiche, wie oben.

0
MelindaPries 
Fragesteller
 06.02.2023, 22:30
@Zwnow

Es hat geklappt. Vielen Dank!:))))))))
Warum nutze ich float?

1
Zwnow  06.02.2023, 22:33
@MelindaPries

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! :-)

1
NackterGerd  06.02.2023, 22:45

Wieso?

Datentypen lehrt Python leider nicht wirklich.

https://www.w3schools.com/python/python_datatypes.asp

Datentypen ist doch ein Thema !

0
Zwnow  06.02.2023, 22:49
@NackterGerd

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.

0

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.