Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:modul:m319:learningunits:lu12:aufgaben:hofladen [2025/06/23 07:45] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1de:modul:m319:learningunits:lu12:aufgaben:hofladen [2025/06/23 07:45] (aktuell) – ↷ Seite von modul:m319:learningunits:lu12:aufgaben:hofladen nach de:modul:m319:learningunits:lu12:aufgaben:hofladen verschoben msuter
Zeile 1: Zeile 1:
 +====== 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 ====
 +<code>
 +Artikelname > Milch
 +Preis       > 5.75
 +Menge       > 5
 +
 +Artikelname > Wurst
 +Preis       > 21.10
 +Menge       > 12
 +
 +Artikelname > Milch
 +Bestand     : 5
 +Menge       > -2
 +
 +Artikelname > Exit
 +</code>
 +
 +===== Programmablauf =====
 +**main:**
 +  - Erstelle eine leere Liste für die ''Artikelliste''
 +  - Eingabe des ''Artikelnamen''
 +  - Solange ''Artikelnamen'' nicht ''Exit'' ist
 +    - Suche in der Liste mit dem ''Artikelnamen'' nach dem Artikel und weise diesen Artikel ''Artikel'' zu --> ''find_article(article_name, article_list):''
 +    - Falls ''Artikel'' ''None'' ist
 +      - Erstelle ein neuen ''Artikel'' mit dem ''Artikelnamen'', ''Preis=0.00'' und ''Bestand=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'' zum ''Artikel.Bestand''
 +    - Eingabe des ''Artikelnamens''
 +  - Gib die ''Artikelliste'' als Returnwert zurück
 +
 +**find_article(article_name, article_list):**
 +  - Iteriere über alle ''Artikel'' in der ''Artikelliste''
 +    - Wenn der ''Artikelnamen'' dem ''Artikel.Artikelnamen'' entspricht
 +      - Gib den gefundenen ''Artikel'' zurück
 +  - Gib ''None'' zurück
 +
 +
 +<HTML>
 +<iframe src="https://trinket.io/embed/python3/31c1f79bb9?outputOnly=true&runOption=run&start=result" width="100%" height="356" frameborder="0" marginwidth="0" marginheight="0" allowfullscreen></iframe>
 +</HTML>
 +
 +
 +
 +
 +
 +
 +<details>
 +<summary>//=> GitHub Repo für externe Besucher//</summary>
 +GitHub Repository https://github.com/templates-python/m319-lu12-a02-farmshop
 +
 +//Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden//
 +
 +</details>
 +
 +----
 +{{tag>M319-LU12}}
 +[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter
  
  • de/modul/m319/learningunits/lu12/aufgaben/hofladen.txt
  • Zuletzt geändert: 2025/06/23 07:45
  • von msuter