
Aber schön wie sich hier gesorgt wird :> toll
Code: Alles auswählen
def steuern(einkommen):
if einkommen <= 8004:
steuer = 0
elif einkommen <= 13469:
y = (einkommen -8004.0)/10000.0
elif einkommen <= 52881:
z = (einkommen -13469.0)/10000.0
steuer = (228.74 * z +2397.0)*z +1038.0
elif einkommen <= 250730:
steuer = einkommen * 0.42 - 8172.0
else:
steuer = einkommen * 0.44 - 15694
return steuer
Code: Alles auswählen
def steuern(einkommen):
if einkommen <= 8004:
steuer = 0
elif einkommen <= 13469:
y = (einkommen -8004.0)/10000.0
elif einkommen <= 52881:
z = (einkommen -13469.0)/10000.0
steuer = (228.74 * z +2397.0)*z +1038.0
elif einkommen <= 250730:
steuer = einkommen * 0.42 - 8172.0
else:
steuer = einkommen * 0.44 - 15694
return steuer
Code: Alles auswählen
def steuern(einkommen):
einkommen = raw_input("Einkommen? ")
print einkommen
if einkommen <= 8004:
steuer = 0
elif einkommen <= 13469:
y = (einkommen -8004.0)/10000.0
elif einkommen <= 52881:
z = (einkommen -13469.0)/10000.0
steuer = (228.74 * z +2397.0)*z +1038.0
elif einkommen <= 250730:
steuer = einkommen * 0.42 - 8172.0
else:
steuer = einkommen * 0.44 - 15694
return steuer
Wenn du eine Funktion schreibst, dann sollte sie auch Code enthalten. Da du die auf def folgenden Codezeilen nicht eingerückt hast geht Python davon aus, dass diese kein Teil der Funktion sein sollen. Damit hättest du aber eine Funktion ohne Code und das ist nicht zulässig.Pacome hat geschrieben:Code: Alles auswählen
def steuern(einkommen): einkommen = raw_input("Einkommen? ") print einkommen
Das ist für das Testprogramm eines Anfängers vermutlich nicht so entscheidend. Wichtiger ist es, dass es einen Weg durch die Funktion gibt, bei dem steuer gar nicht gesetzt wird und wodurch das anschließende return steuer folglich nicht funktioniert.kbr hat geschrieben:@Pacome: Die Zahlen zur Berechnung der Steuer stimmen auch nicht, zumindest sind es nicht die Werte für 2014-2015.
Auch wenn ich python-kurs.eu nicht für so gelungen halte*¹, die Strukturierung wird schon sehr weit vorne im Kurs angesprochen: Blöcke.Pacome hat geschrieben:Danke für die Hinweise zum Einrücken. Ich werde mich Morgen damit weiter befassen -.-
Da kann ich nur zustimmen, denn schließlich soll das ganze ja mit einem Erfolgserlebnis enden. Wobei dieses umso schöner ist, wenn am Ende, wenn der Programmablauf funktioniert, dann auch die richtigen Zahlen rauskommen./me hat geschrieben:Das ist für das Testprogramm eines Anfängers vermutlich nicht so entscheidend. Wichtiger ist es, dass es einen Weg durch die Funktion gibt, bei dem steuer gar nicht gesetzt wird und wodurch das anschließende return steuer folglich nicht funktioniert.