LU12.A02 - Hofladen
Ausgangslage
In einem Hofladen sind verschiedene Produkte verfügbar.
Zum Speichern der Produkte definieren wir eine @dataclass
mit diesen Attributen:
- Name des Artikels
name
(Text) - Preis des Artikels
price
(Dezimalzahl) - Bestand
stock
(Ganzzahl)
Programmaufgabe
Ihr Programm soll die Artikel im Hofladen verwalten.
Der Benutzer gibt zuerst den Namens eines Artikels ein.
Falls der Name Exit
ist, wird das Programm beendet.
Falls der Artikel noch nicht existiert, muss der Benutzer den Preis eingeben.
Andernfalls wird der aktuelle Bestand ausgegeben.
Zuletzt gibt der Benutzer die Veränderung des Bestands ein.
Beispiel
Artikelname > Milch Preis > 5.75 Menge > 5 Artikelname > Wurst Preis > 21.10 Menge > 12 Artikelname > Milch Bestand : 5 Menge > -2 Artikelname > Exit
Programmablauf
main:
- Erstelle eine leere Liste für die
Artikelliste
- Eingabe des
Artikelnamen
- Solange
Artikelnamen
nichtExit
ist- Suche in der Liste mit dem
Artikelnamen
nach dem Artikel und weise diesen ArtikelArtikel
zu –>find_article(article_name, article_list):
- Falls
Artikel
None
ist- Erstelle ein neuen
Artikel
mit demArtikelnamen
,Preis=0.00
undBestand=0
- Speichere das Objekt in der
Artikelliste
- Eingabe des
Artikel.Preis
–>input_float(prompt)
- Sonst
- Ausgabe des aktuellen Bestands
- Eingabe der
Menge
–>input_int(prompt)
- Addiere die
Menge
zumArtikel.Bestand
- Eingabe des
Artikelnamens
- Gib die
Artikelliste
als Returnwert zurück
find_article(article_name, article_list):
- Iteriere über alle
Artikel
in derArtikelliste
- Wenn der
Artikelnamen
demArtikel.Artikelnamen
entspricht- Gib den gefundenen
Artikel
zurück
- Gib
None
zurück
⇒ GitHub Repo für externe Besucher
GitHub Repository https://github.com/templates-python/m319-lu12-a02-farmshop
Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden