Der Bauer der den Hofladen betreut ist sehr glücklich über die neue Bestandsverwaltung für den Hofladen aus der LU12.A02. Für seinen Steuerverwalter muss der Bauer jedoch jederzeit den Gesamtwert pro Produkt des Bestandes im Hofladen und zusätzlich noch den Gesamtwert aller Produkte im Hofladen ausgeben ausgeben können.
Ihr Programm kann bereits die Artikel im Hofladen verwalten.
Er funktioniert bisher so:
Exit
ist, wird das Programm beendet.Neu kommt dazu:
Exit
ist, wird das Programm beendet.Inventory
ist, druckt das Programm für jeden Artikel den Produktwert (Preis * Bestand) und den Gesamtwert über alle Produkte ausArtikelname > Milch Preis > 5.75 Menge > 5 Artikelname > Wurst Preis > 21.10 Menge > 12 Artikelname > Milch Bestand : 5 Menge > -2 Artikelname > Inventory Milch : 17.25 Wurst : 253.20 Gesamt : 270.45 Artikelname > Exit
Zu jedem Produkt werden diese Attribute gespeichert:
Zusätzlich zu diesen drei Angaben benötigen wir neu auch noch den Produktwert. Wie wir in der Theorie zu LU13 gelernt haben, können wir einen Getter, resp. ein property
für einen Wert auch ohne eigenes Attribut machen. Ergänzen Sie also ihr Produkt um ein Property für article_value
, welches das Produkt aus Preis pro Artikel und Bestand ist.
Bisher haben Sie Ihren Code in merhere Funktionen aufgeteilt. Auch hier würde es sich anbieten, eine Funktion zu schreiben, die dafür verantwotlich ist, das Inventar auszudrucken und den Gesamtwert zu berechnen und auszugeben.
Definieren sie also eine Funktion, die über eine ihr übergebene Liste iteriert und von jedem Produkt den name
und article_value
ausgibt. Ebenso soll die Funktion eine Summe über alle article_value
erstellen und diese am Schluss ausgeben.
Exit
istInventory
Damit ihr Programm jetzt auf Inventory
als Artikelname reagieren kann, müssen Sie den Kontrollfluss anpassen.
Exit
istInventory
Die Abgabe der Lösung erfolgt als Push in das persönliche GitHub-Repository.
GitHub Repository https://github.com/templates-python/m319-lu13-a02-farmshop-extended
Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden