Hallo,
danke für die schnelle Antwort, aber so meinte ich das nicht. War ein schlechtes Codebeispiel von mir, sorry.
Ich poste einfach mal den Code, um den es tatsächlich geht.
Das ist eine Aufgabe, bei der der Benutzer eingibt, wieviel Geld er zurückzahlen muss und das Programm ihm die Stückelung der Scheine und Münzen zurück gibt.
Code: Alles auswählen
betrag = float(input("Geldbetrag: "))
euro = int(betrag)
euro_s = int(betrag%5)
cent = int(round(betrag%1*100, 2))
euro_scheine = [500, 200, 100, 50, 20, 10, 5]
euro_stuecke = [2, 1]
cent_stuecke = [50, 20, 10, 5, 2, 1]
def abziehen(geld, werte, art, form):
for wert in werte:
anzahl = geld // wert
geld %= wert
print(f'{wert:3}-{art}-{form:<7}: {anzahl:2} - Bleiben {geld:3} {art}.')
print(f'Es müssen {euro} Euro und {cent} Cent zurückgegeben werden.')
abziehen(euro, euro_scheine, "Euro", "Scheine")
abziehen(euro_s, euro_stuecke, "Euro", "Stücke")
abziehen(cent, cent_stuecke, "Cent", "Stücke")
#-----------------------------------------------------------------------------------------------------------
print("\n", "-"*50, "\n")
#-----------------------------------------------------------------------------------------------------------
betrag = float(input("Geldbetrag: "))
euro = int(betrag)
euro_s = int(betrag%5)
cent = int(round(betrag%1*100, 2))
euro_scheine = [500, 200, 100, 50, 20, 10, 5]
euro_stuecke = [2, 1]
cent_stuecke = [50, 20, 10, 5, 2, 1]
print(f'Es müssen {euro} Euro und {cent} Cent zurückgegeben werden.')
for wert in euro_scheine:
anzahl = euro // wert
euro %= wert
print(f'{wert:3}-Euro-Scheine: {anzahl:2} - Bleiben {euro:3} Euro und {cent:2} Cent.')
for wert in euro_stuecke:
anzahl = euro_s // wert
euro_s %= wert
print(f'{wert:3}-Euro-Stücke : {anzahl:2} - Bleiben {euro_s:3} Euro und {cent:2} Cent.')
for wert in cent_stuecke:
anzahl = cent // wert
cent %= wert
print(f'{wert:3}-Cent-Stücke : {anzahl:2} - Bleiben {euro:3} Euro und {cent:2} Cent.')
Die beiden Programme machen das Gleiche. Ich würde gerne die obere Version mit der Print-Ausgabe der unteren Version verwenden.
Mein Problem besteht darin, dass ich in der Funktion bei der print-Ausgabe nicht zwischen Euro und Cent unterscheiden kann, da ich ja bloß eine art an die Funktion übergebe.
Daher meine Frage, ob ich von innerhalb der Funktion irgendwie die Variablen (euro, euro_s, cent) mit verändern kann?