Python :: Aufgabe #78 :: Lösung #4
6 Lösungen

#78
Das Briefmarkenproblem
Anfänger - Python
von ElPapito
- 07.05.2015 um 21:02 Uhr
Schreibe ein Programm, welches den Nutzer solange auffordert einen Betrag in Cent einzugeben, bis dieser größer oder gleich 20 und durch 5 teilbar ist. Dem Benutzer soll bei falscher Eingabe eine passende Fehlermeldung ausgegeben werden.
Dieser Betrag soll nun mit so wenig Briefmarken wie möglich ausgezahlt werden. Hierzu stehen allerdings nur 10 Cent und 25 Cent Briefmarken zur Verfügung.
Beispiele:
35 Cent = 1 * 25 Cent + 1 * 10 Cent
55 Cent = 1 * 25 Cent + 3 * 10 Cent
80 Cent = 2 * 25 Cent + 3 * 10 Cent
95 Cent = 3 * 25 Cent + 2 * 10 Cent
Dieser Betrag soll nun mit so wenig Briefmarken wie möglich ausgezahlt werden. Hierzu stehen allerdings nur 10 Cent und 25 Cent Briefmarken zur Verfügung.
Beispiele:
35 Cent = 1 * 25 Cent + 1 * 10 Cent
55 Cent = 1 * 25 Cent + 3 * 10 Cent
80 Cent = 2 * 25 Cent + 3 * 10 Cent
95 Cent = 3 * 25 Cent + 2 * 10 Cent
#4

von BlueBite (100 Punkte)
- 02.03.2016 um 20:31 Uhr

eingabe = input("""Welchen Betrag brauchst du in Briefmarken? Der Betrag muss größer als 19 Cent sein und durch 5 teilbar: """) while True: if eingabe < 20 or eingabe%5 != 0: eingabe = input("Der Betrag ist nicht korrekt, bitte noch einmal: ") else: break max_amount_briefmarken = int(eingabe/10) zaehler = max_amount_briefmarken for i in range(max_amount_briefmarken+1): for j in range(max_amount_briefmarken+1): if i*25 + j*10 == eingabe and i + j <= zaehler: _25er = i _10er = j zaehler = i + j else: pass print "Du brauchst %s Briefmarken - von der 25 Cent %s Stück und von den 10 Cent %s Stück" % (zaehler, _25er, _10er)
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1