Ich habe eine Funktion in meinem Artikel Bestellsystem, wo das Ziel Summen, wie viele Elemente zu halten wurden die einzelnen Elemente bestellt und drucken und den Betrag, den siePython zu halten Anzahl der Summen basierend auf Benutzereingaben
bestellt wurdenclass Totals(object):
def __init__(self, total):
self.total = total
def total(order_amount, coffee_id):
count = 0
print("Coffee Type\t\tAmount of Times ordered")
print("-----------\t\t-----------------------")
for coffee in coffee_available:
if coffee.coffee_id == coffee_id:
count = order_amount
coffee_id = order_coffee
print("{}\t- - -\t {} ".format(coffee.coffee_type, count))
Damit kann ich nur ein Element drucken und es zeigt, wie viele dieser Einzelteil bestellt wird aber wieder tut es dies nur ein Element
Die Funktion auf Benutzereingaben basiert und die Einzelteile sind
coffee_available=[Coffee(1, "1: Flat White", 3.50),
Coffee(2, "2: Long Black", 3.50),
Coffee(3, "3: Cappuccino", 4.00),
Coffee(4, "4: Espresso", 3.25),
Coffee(5, "5: Latte", 3.50)]
Wie ändere ich die Funktion, so dass sie alle Elemente druckt und die Menge der bestellten Objekte bei jedem Aufruf verfolgt, so dass nach dem mehrfachen Durchlaufen meines Codes immer noch jedes Element und die Anzahl der Male angezeigt wird bestellt
Ok, jetzt habe ich eine Methode, die jede der verschiedenen Arten von Kaffee druckt aber druckt die Menge Kaffee für 1 Stück, um alle der bestellten Artikel und die Menge an Kaffee für jeden Artikel bestellt nicht behalten als
class Order(object):
def __init__(self):
self.total = {}
def order(self, order_amount, coffee_id):
if coffee_id not in self.total.keys():
self.total[coffee_id] = 0
self.total[coffee_id] += order_amount
def print_order(self, coffee_id):
print(" ")
print("Coffee Type\t\tAmount of Times ordered")
print("-----------\t\t-----------------------")
for coffee in coffee_available:
print("{}\t- - -\t {} ".format(coffee.coffee_type, self.total[coffee_id]))
benötigt wird, und das ist, wie ich es nennen
new_order = Order()
new_order.order(order_amount, coffee_available[order_coffee - 1])
new_order.print_order(coffee_available[order_coffee - 1])
würden irgendwelche Vorschläge groß sein
Das Problem ist mehr Ihre Funktion sieht aus wie es entworfen wurde, um nur eine Art von Kaffee zu drucken. Sie sollten stattdessen die tatsächliche Reihenfolge als Parameter übergeben. ZB eine Liste von Kaffee-Objekten, die ausgewählt wurden. order_amount und coffee_id sehen nur ganze Zahlen aus, die dich nicht sehr weit bringen. –
Bitte folgen Sie https://www.youtube.com/watch?v=o9pEzgHorH0 –