2. Prüfungsvorbereitung

Kursinhalte
- Zeitansatz 45 Minuten
Prüfungsaufgabe: Reklamationsverwaltung
Ausgangslage:
Die Fahrradwerkstatt RadFix verwaltet Reklamationen ihrer Kunden digital. Dafür gibt es eine bestehende Codebasis, die bereits Kundendaten einliest und einfache Objekte für Reklamationen verwendet. Die Daten werden in einer JSON-Datei gespeichert. Die bisherige Anwendung erlaubt jedoch nur das Speichern, nicht aber das gezielte Auswerten der Reklamationen.
Datei: reklamation
.json
[
{
"kundennummer": "K1001",
"produkt": "E-Bike Akku",
"beschreibung": "Akku lädt nicht mehr",
"datum": "2025-05-28",
"status": "offen"
},
{
"kundennummer": "K1002",
"produkt": "Kettenschaltung",
"beschreibung": "Springt beim Schalten",
"datum": "2025-05-25",
"status": "bearbeitet"
}
]
Bereits vorhandene Python-Datei: reklamation.py
import json
class Reklamation:
def __init__(self, kundennummer, produkt, beschreibung, datum, status):
self.kundennummer = kundennummer
self.produkt = produkt
self.beschreibung = beschreibung
self.datum = datum
self.status = status
def lade_reklamationen(dateipfad):
with open(dateipfad, 'r') as datei:
daten = json.load(datei)
reklamationen = []
for eintrag in daten:
r = Reklamation(**eintrag)
reklamationen.append(r)
return reklamationen
Ihre Aufgabe:
Erweitern Sie das Projekt um folgende Funktionalitäten:
- Erweiterung der Klasse
Reklamation
:- Fügen Sie der Klasse eine Methode
ist_offen()
hinzu, dieTrue
zurückgibt, wenn der Status"offen"
ist.
Erstellen SIe zusätzlich eine Methodeals_dict()
, die das Objekt als Dictionary zurückgibt (für die JSON-Speicherung).
- Fügen Sie der Klasse eine Methode
- Neue Funktion: Offene Reklamationen anzeigen
- Erstellen Sie eine Funktion
zeige_offene_reklamationen(reklamationen)
, die alle offenen Reklamationen auf der Konsole ausgibt – dabei soll jede Reklamation in einer Zeile im Format erscheinen:
Kundennummer: K1001 | Produkt: E-Bike Akku | Datum: 2025-05-28
- Erstellen Sie eine Funktion
- Neue Reklamation hinzufügen:
- Schreiben Sie eine Funktion
neue_reklamation_hinzufuegen(dateipfad)
, die den Benutzer nach den folgenden Eingaben fragt: Kundennummer, Produkt, Beschreibung - Das Datum wird automatisch auf das aktuelle Datum gesetzt (
datetime
verwenden), der Status auf"offen"
. - Speichern Sie die neue Reklamation in die vorhandene JSON-Datei.
- Schreiben Sie eine Funktion
Hinweise zur Bewertung:
- Saubere Modultrennung
- Fehlerfreies Einlesen und Schreiben von JSON-Daten
- Korrekte Verwendung von Klassen und Objekten
- Funktionierende Interaktion mit der Benutzereingabe