Python Menü - Funktionen einbauen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

In dem Kontext, in dem deine print-Funktion aufgerufen wird, ist unter dem Namen neuer_kontostand nur die Funktion bekannt, die du dort definiert hast. Python versucht infolgedessen, diese auszugeben.

Um zu dem Ziel zu kommen, welches du wohl erreichen möchtest, könnte man der Funktion anweisen, einen expliziten Rückgabewert zu liefern.

def berechne_kontostand(kontostand, einzahlen):
  neuer_kontostand = kontostand + einzahlen
  return neuer_kontostand

und sie dann im elif aufrufen.

einzahlen = input("Welchen Betrag möchten Sie einzahlen?")
kontostand = berechne_kontostand(kontostand, einzahlen)
print(f"Ihr neuer Kontostand beträgt: {neuer_kontostand} Euro")

Günstigerweise sollte die Funktion außerhalb der while-Schleife definiert werden. Zum einen dient sie doch als globales Werkzeug und zum anderen macht es das Programm übersichtlicher.

Des Weiteren wäre ein anderer Name, der die Funktion als Funktion kennzeichnet, besser. Üblicherweise werden für Funktionen entweder Verben oder Imperativformen (wie hier: Berechne Kontostand) verwendet.

Statt eine neue Variable anzulegen, würde ich den Wert der vorhandenen Variable kontostand überschreiben. So kann der Wert über mehrere Schleifeniterationen hinweg weiterverwendet werden.