Menu
CoddyTech

Rückblick – Warenkorb-Fehler

Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 66 von 78.

challenge icon

Aufgabe

Mittel

Erstelle ein Programm, das einen Warenkorb mit Fehlerbehandlung simuliert. Deine Aufgabe ist es:

  1. Eine Funktion namens handle_shopping_cart zu erstellen, die Kundenbestellungen verarbeitet
  2. Die Funktion soll eine Liste von Bestellzeichenfolgen im Format "item:quantity" akzeptieren
  3. Jede Bestellung zu verarbeiten, indem du:
    • Die Eingabezeichenfolge aufteilst, um Artikel und Menge zu erhalten
    • Die Menge in eine Ganzzahl umwandelst
    • Den Artikel mit der Menge als Wert zu einem Warenkorb-Wörterbuch hinzufügst
    • Wenn ein Artikel bereits im Warenkorb vorhanden ist, die neue Menge zu seiner bestehenden Menge addierst
  4. Diese spezifischen Fehler zu behandeln:
    • Wenn das Eingabeformat falsch ist (Doppelpunkt fehlt), "Invalid format: {order}" ausgibst
    • Wenn die Menge keine gültige Zahl ist, "Invalid quantity: {order}" ausgibst
    • Wenn die Menge negativ ist, "Negative quantity not allowed: {order}" ausgibst
  5. Das fertiggestellte Warenkorb-Wörterbuch zurückzugeben

Überprüfe das Format und die negative Menge mit einem if. Nur die Umwandlung der Menge in eine Ganzzahl kann einen Fehler auslösen, daher wird in except ValueError "Invalid quantity: {order}" ausgegeben. Behalte den abschließenden Block except Exception as e als Sicherheitsnetz bei und gib dort "Unexpected error: {e}" aus.

Probier es selbst

def handle_shopping_cart(orders):
    # Erstelle ein leeres Dictionary für den Warenkorb
    cart = {}

    # Verarbeite jede Bestellung in der Liste
    for order in orders:
        try:
            # Teile die Bestellung auf, prüfe das Format und die Menge und füge sie dann dem Warenkorb hinzu
            pass

        except ValueError:
            # Die Menge war keine Zahl
            pass

        except Exception as e:
            # Alles Unerwartete
            pass

    # Gib den fertigen Warenkorb zurück
    return cart

Alle Lektionen in Logik und Ablaufsteuerung

Übe selbstständig: Online-Python-Compiler