Python Geldstückelung

Erste Frage Aufrufe: 1378     Aktiv: 21.10.2021 um 15:18

0

Hallo, ich braechte Hilfe bei einem Programm.

Die Fragestellung wie folgt: Schreiben sie ein Programm, das einen ganzzahligen Euro Betrag einliest und anschließend in die dafür notwendigen Scheine und Münzen ausgibt. Es soll die optimale Anzahl (große Scheine zuerst) an Scheinen und Münzen ausgeben. Input (Euro): 304 Resultat: 1 x 200-Euro-Scheine, 1 x 100-Euro-Schein, 2 x 2 Euro-Münzen

Bei meinem Code klappt die Ausgabe jedoch weiß ich gerade nicht wie ich die Ausgabe wie erwünscht Ausgeben kann.

Ich habe mir überlegt, dass ich wenn mir das Programm die Zahl 200 ausgibt ich die zahl 200 über die ausgabe euro liste variable steuere. Wie mache ich das nur?

euro_liste = [500, 200, 100, 50, 20, 10, 5, 2, 1] ausgabe_euro_liste = ['500 Euro-Münzen', '200 Euro-Münzen', '100 Euro-Münzen', '50 Euro-Münzen', '20 Euro-Münzen', '10Euro-Münzen', '5Euro-Münzen', '2Euro-Münzen', '1Euro-Münzen']

betrag = int(input('Input (Euro): ')) euro = int(betrag)

e_liste = []

def ausgabe (b, liste, a_liste): e = 0 while e < len(liste): if liste[e] <= b : b = b - liste[e] a_liste.append(liste[e]) if b < liste[e]: e +=1 if b > 0: ausgabe(b)

ausgabe(euro, euro_liste, e_liste)

print('\nEuro', e_liste,)

Diese Frage melden
gefragt

Punkte: 12

 
Kommentar schreiben
1 Antwort
0

enter image description here

... zum Kopieren:

currency = "Euro"

scheine = [500, 200, 100, 50, 20, 10, 5] muenzen = [2, 1]

def evaluate(betrag: int) -> tuple: use_scheine = {} use_muenzen = {}

for schein in scheine:
    if betrag >= schein:
        use_scheine[schein] = betrag // schein
        betrag = betrag % schein

for muenze in muenzen:
    if betrag >= muenze:
        use_muenzen[muenze] = betrag // muenze
        betrag = betrag % muenze

return (use_scheine, use_muenzen)

def ausgabe(use_scheine: dict, use_muenzen: dict) -> None: for schein in use_scheine: anzahl_scheine = use_scheine[schein] if (anzahl_scheine > 0): print('{0}x {1}-{2}-Schein'.format(anzahl_scheine, schein, currency))

for muenze in use_muenzen:
    anzahl_muenzen = use_muenzen[muenze]
    if (anzahl_muenzen > 0):
        print('{0}x {1}-{2}-Münze'.format(anzahl_muenzen, muenze, currency))

if name == "main": eingabe = int(input("Eingabe (" + currency + "): ")) result = evaluate(eingabe) ausgabe(result[0], result1)

Diese Antwort melden
geantwortet

Schüler, Punkte: 455

 

Danke dir habe es jetzt etwas später verstanden

  ─   user8dba97 21.10.2021 um 15:18

Kommentar schreiben