Was habe ich beim Python Gehaltsrechner falsch gemacht?

4 Antworten

Noch ein kleiner Tipp am Rande. Bei der Ausgabe kann man auch die Rückumwandlung der Zahl in ein String sparen, wenn man es mit einem Komma separiert.

monatsgehalt = int(input("Geben Sie Ihr Monatsgehalt ein "))
jahreslohn = 12 * monatsgehalt
print('Du verdienst ',jahreslohn , ' pro Jahr')

Wenn man es noch ein wenig professioneller machen möchte, dann kann man ein f-String verwenden, um den Code noch einfacher zu lesen zu machen

monatsgehalt = int(input("Geben Sie Ihr Monatsgehalt ein "))
jahreslohn = 12 * monatsgehalt
print(f'Du verdienst {jahreslohn}  pro Jahr')
Woher ich das weiß:eigene Erfahrung

Ich kenn zwar nicht, wie du das Monatsgehalt in das Programm einbindest, aber ich gehe mal davon aus, das du ein Input-feld verwendest.

Das Problem daran ist, dass was man eingibt standartmäßig als String formatiert und man es erst umwandeln muss, um es bei Berrechnungen zu verwenden. Das passiert, da das Programm nicht weiß, ob man ein Buchstabe, ein Sonderzeichen oder eine Zahl eingegeben hat und deshalb einfach als String formatiert.

Um den Fehler zu beheben kann man die Eingabe erst mal als Integer (oder ein float mit float(monatsgehalt) um mit Kommazahlen zu rechenen) formatieren und dann mit der Zahl weiterrechenen.

monatsgehalt = int(input("Geben Sie Ihr Monatsgehalt ein "))

Ich hoffe ich konnte dir helfen

LG

Woher ich das weiß:eigene Erfahrung
Wie kann ich das lösen? (Mir ist bewusst das es etwas einfaches sein muss, aber ich weiß net was)

Indem du die Typen beachtest. input() gibt dir einen String zurück. Multiplizierst du einen String mit einem (positiven) Integer, gibt dir Python den String eben genau so oft aus - und genau das passiert hier.

Um das zu lösen, solltest du den String zu einer Zahl umwandeln. Entweder mit der Funktion int(), wenn es bei Ganzzahlen bleiben soll, oder float()

Kann nicht programmieren aber maybe:

jahreslohn = 12 * int(monatsgehalt)

* Nen Input ist nämlich glaub erstmal nen String

Woher ich das weiß:eigene Erfahrung