Python Einsteigerbuch Übungsaufgabe HILFE

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pythonbeginner1
User
Beiträge: 7
Registriert: Montag 6. August 2018, 15:30

Hallo liebes Forum,

ich fange gerade mit dem programmieren und habe mir ein Einsteigerbuch gekauft. Ich bin gerade dabei die Übungsaufgaben
im Buch zu lösen und habe mir im Nachgang dann die Lösungen angeschaut. Die Lösungen, wie sie im Buch stehen habe ich 1:1 in pycharm eingetragen und versucht auszuführen, ohne das gewünschte Ergebnis. Es wäre klasse, wenn mir jemand helfen könnte. Vielen Dank im Voraus!
Übung: Einfache Verzweigung
Ergebnis: print("Geben Sie Ihr Bruttogehalt in Euro ein:")

bruttobetrag = float(input(2600))


if bruttobetrag > 2500:

steuerbetrag = bruttobetrag * 0.22

else:

steuerbetrag = bruttobetrag * 0.18


Geben Sie Ihr Bruttogehalt an
2600
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Code: Alles auswählen

bruttobetrag = float(input("Geben Sie Ihr Bruttogehalt in Euro ein:")) 
if bruttobetrag > 2500:
    steuerbetrag = bruttobetrag * 0.22
else:
    steuerbetrag = bruttobetrag * 0.18
print("Ihre Steuer beträgt {} Euro".format(steuerbetrag))
so sollte es funktionieren.
Der Funktion input() wird nicht der Wert übergeben, den man haben möchte.
Sie wartet auf eine Tastatureingabe, die mit der Return/Eingabetaste beendet werden muss.
Man kann ihr einen String/Text als Parameter mitgeben, der wird vor dem Warten auf eine Eingabe ausgegeben.
https://docs.python.org/3/tutorial/inputoutput.html

Solltest du Python Version 3.6 oder höher benutzen,
kannst du die Ausgabe durch Verwendung von f-Strings eleganter gestalten.

Code: Alles auswählen

print(f"Ihre Steuer beträgt {steuerbetrag} Euro")
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@pythonbeginner1: was für ein Ergebnis erwartest Du, und welches bekommst Du?

Die Einrückungen stimmen bei Dir nicht. Eingerückt wird immer 4 Leerzeichen pro Ebene. Bei Dir ist aber auch die oberste Ebene 22 Leerzeichen eingrückt, sollten 0 sein. Die Ausgabe von steuerbetrag fehlt auch noch.
pythonbeginner1
User
Beiträge: 7
Registriert: Montag 6. August 2018, 15:30

Erstmal vielen lieben Dank für die schnelle Hilfe. Leider funktioniert es immer noch nicht. :(
bruttobetrag = float(input("Geben Sie Ihr Bruttogehalt in Euro ein:"))
if bruttobetrag > 2500:
steuerbetrag = bruttobetrag * 0.22
else:
steuerbetrag = bruttobetrag * 0.18
print(f"Ihre Steuer beträgt {steuerbetrag} Euro")

wenn ich es ausführe kommt nur
Geben Sie Ihr Bruttogehalt in Euro ein:

@Sirius3: vielen Dank für die Tipps. Die erwartete Ausgabe könnte wie folgt aussehen:

Geben Sie Ihr Bruttogehalt in Euro ein:
3000
Es ergibt sich ein Steuerbetrag von 660.0 Euro
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte poste hier mit den Code-Tags, denn so zerfaellt dein Code zur Unleserlichkeit. Dazu im "Vollstaendigen Editor" den Quellcode markieren, und das Symbol </> in der Toolbar klicken.
pythonbeginner1
User
Beiträge: 7
Registriert: Montag 6. August 2018, 15:30

Code: Alles auswählen

bruttobetrag = float(input("Geben Sie Ihr Bruttogehalt in Euro ein:"))
if bruttobetrag > 2500:
    steuerbetrag = bruttobetrag * 0.22
else:
    steuerbetrag = bruttobetrag * 0.18
print(f"Ihre Steuer beträgt {steuerbetrag} Euro")
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Der Code funktioniert.
Ich vermute, dein Problem hat mit Pycharm zu tun.
Wenn du dort den Code ausführen läßt, musst du mit der Maus das Terminalfenster in dem "Geben Sie Ihr Bruttogehalt in Euro ein:" erscheint anklicken und dann dort den Betrag eingeben,
den du berechnen lassen möchtest.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

An PyCharm selbst liegt es nicht!

Code: Alles auswählen

Geben Sie Ihr Bruttogehalt in Euro ein:2400
Ihre Steuer beträgt 432.0 Euro

Process finished with exit code 0
Geht mit 2400 und 2500 in Pycharm 18.2 mit Python3.7
pythonbeginner1
User
Beiträge: 7
Registriert: Montag 6. August 2018, 15:30

ich habe es auch nochmal in der IDLE shell ausgeführt und es kommt die selbe Fehlermeldung wie in pycharm.
pythonbeginner1
User
Beiträge: 7
Registriert: Montag 6. August 2018, 15:30

Code: Alles auswählen

bruttobetrag = float(input("Geben Sie Ihr Bruttogehalt in Euro ein:2400"))
ValueError: could not convert string to float: 
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Die 2400 gehören ja auch nicht in den Input-Prompt, sondern die gibst Du zur runtime ein.
pythonbeginner1
User
Beiträge: 7
Registriert: Montag 6. August 2018, 15:30

Danke für die Antwort! wie gebe ich es zur runtime ein? LG
pythonbeginner1
User
Beiträge: 7
Registriert: Montag 6. August 2018, 15:30

Okay es funktioniert in der runtime. runtime bedeutet also einfach unten eingeben, verstehe :D
In dem Buch stand da nix von...naja ich danke allen die sich die Zeit genommen haben mir zu helfen. LG
Antworten