LU12.A02 - Hofladen

Ausgangslage

In einem Hofladen sind verschiedene Produkte verfügbar. Zu jedem Produkt werden diese Attribute gespeichert:

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

  1. Erstelle eine leere Liste für die Artikel
  2. Eingabe des Artikelnamens
  3. Solange Artikelname nicht Exit ist
    1. Suche den Artikel in der Liste und merke dir diesen Artikel
    2. Falls kein Artikel gefunden wurde
      1. Erstelle ein neues Artikel-Objekt mit dem Artikelnamen, Preis=0.00 und Bestand=0
      2. Speichere das Objekt in der Liste
      3. Eingabe des Preises
    3. Sonst
      1. Ausgabe des aktuellen Bestands
    4. Eingabe der Menge
    5. Addiere die Menge zum Bestand
    6. Eingabe des Artikelnamens
  4. Gib die Artikelliste als Returnwert zurück

Vorgehen

Funktionen bestimmen

Überlegen Sie, welche Teilaufgaben sich sinnvoll als eigenständige Funktionen realisieren lassen. Notieren Sie zu jeder Funktion:

Name Name der Funktion
Aufgabe Kurze Beschreibung
Argumente Liste aller Argumente für diese Funktion
Returnwert Welche Daten liefert diese Funktion als Return

Sie können die Funktionen auch direkt im Pythoncode definieren. Zum Beispiel:

def do_something(value, blabla):
    """
    does something
    :param value: the value of the thing to be done
    :param blabla: some blabla
    :return: the something that was done
    """
    pass

Vorgehensschritte

Realisieren Sie zunächst die Funktionen, welche Sie zuvor identifiziert haben.

Zerlegen Sie den Programmablauf in möglichst kleine Teilschritte. Nach jedem Teilschritt sollte das Programm ein überprüfbares Resultat erzeugen.