Coin Change Maker Python-Programm
Ich bin in einer Anfänger-programmierkurs. Müssen wir eine übung machen, in dem wir ein change-maker-Programm. Die Eingabe muß zwischen 0-99 und dargestellt werden müssen in quarters, dimes, nickles und Groschen, wenn der Eingang ist unterteilt, die zwischen den vier. Ich schrieb einen code, der eingebunden Schleifen und verweilt, will er aber etwas leichter und kleiner code. Er gab mir dies als einen Weg, mir zu helfen entlang:
c=int(input('Please enter an amount between 0-99:'))
print(c//25)
print(c%25)
Er erzählte uns, dass dies war im Grunde alles, was wir brauchten und brauchen nur fügen Sie in der dimes, nickles und Groschen. Ich versuche es mehrere Möglichkeiten, mit den dimes, nickles und Groschen, aber ich Schaffe es nicht, den Ausgang rechts. Immer, wenn ich in '99', bekomme ich 3 für die Quartale, für 2 Groschen, 1 für nickles, und 0 für ein paar Cent. Wenn jemand in der Lage wäre, mir zu helfen, das wäre wunderbar!
Der schwierige Teil ist zu wissen, dass Sie durch die Einnahme von so vielen Seiten wie möglich, ohne über die Summe, dann, wie viele Groschen und dann nickels und letzten Münzen tatsächlich in der minimalen Menge von Münzen. Und natürlich präsentieren Sie die minimale Höhe oder Sie könnten nur anser verwenden
c
Pfennige.InformationsquelleAutor bulsona15 | 2015-08-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin jetzt ganz sicher über das, was Sie erreichen wollen. Mithilfe der modulo-operator könnte man leicht herausfinden, wie viele quarters, dimes, nickles und Groschen.
Lasst uns einfach sagen, dass Sie input-99.
diese Drucke:
kein problem, stellen Sie einfach sur, Sie verstehen die % und / / - Operatoren. das ist der ganze Sinn dieser übung.
Es gibt auch
divmod
, die nicht diese beiden Vorgänge zur gleichen Zeit.InformationsquelleAutor Saimu
Kommt der eigentliche trick ist, zu wissen, dass da jede Münze Wert ist mindestens zweimal in der nächst kleineren Stückelung, Sie können mit einem greedy-Algorithmus. Der rest ist nur detail.
Hier ist ein wenig TROCKEN, aber ' er (aber möglicherweise, äh, mehr verwirrend) Umsetzung. Alles, was ich wirklich anders machen ist die Verwendung einer Liste zum speichern der Ergebnisse, und unter Ausnutzung der tuple unpacking und divmod. Auch dieses ist ein wenig einfacher zu erweitern ist, in die Zukunft: Alles, was ich tun müssen, um Unterstützung von $1 Rechnungen ist zu ändern
coins
zu[100, 25, 10, 5, 1]
. Und so weiter.Gibt Sie:
InformationsquelleAutor NightShadeQueen
Ich hoffe, das hilft? So etwas wie dieses, aber nicht einfach kopieren. Jedes mal, wenn Sie geteilt durch 25 10 5 müssen Sie verlieren, zum Teil weil es schon gezählt.Am Ende drucken Sie, was immer Sie wollen :).
Nein, es ist ok. Wenn Sie gerade erst begonnen ich verstehen 🙂 .Sie sind willkommen 😉
InformationsquelleAutor Hybr1d