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
ArtikelnamennichtExitist- Suche in der Liste mit dem
Artikelnamennach dem Artikel und weise diesen ArtikelArtikelzu –>find_article(article_name, article_list): - Falls
ArtikelNoneist- Erstelle ein neuen
Artikelmit demArtikelnamen,Preis=0.00undBestand=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
MengezumArtikel.Bestand - Eingabe des
Artikelnamens
- Gib die
Artikellisteals Returnwert zurück
find_article(article_name, article_list):
- Iteriere über alle
Artikelin derArtikelliste- Wenn der
ArtikelnamendemArtikel.Artikelnamenentspricht- Gib den gefundenen
Artikelzurück
- Gib
Nonezurü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
