Rückblick – Warenkorb-Fehler
Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 66 von 78.
Aufgabe
MittelErstelle ein Programm, das einen Warenkorb mit Fehlerbehandlung simuliert. Deine Aufgabe ist es:
- Eine Funktion namens
handle_shopping_cartzu erstellen, die Kundenbestellungen verarbeitet - Die Funktion soll eine Liste von Bestellzeichenfolgen im Format "item:quantity" akzeptieren
- 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
- 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
- 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 cartAlle Lektionen in Logik und Ablaufsteuerung
1Variablen-Erkundung
KonstantenMehrfache VariablenzuweisungenVariablen tauschenPlatzhalter-VariablenZahlen rundenListen-Casting4Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen7Sets Teil 2
Mathematische Operationen Teil 1Mathematische Operationen Teil 2Rückblick – SchatzsucheTeilmengen und ObermengenIterieren über SetsRückblick – Turnier-Tracker10Grundlagen der List Comprehensions
Die SyntaxEinfache Listen erstellenBedingungen hinzufügenDatenaggregation nutzenRückblick - House Of ListsRückblick - Elements Of Freedom13Bestandsverwaltungssystem
ProjektübersichtArtikel hinzufügen2Dictionaries Teil 1
Was ist ein Dictionary?Ein Dictionary erstellenZugriff auf WerteDictionaries ändernRückblick – Rezept-Manager5Fortgeschrittene Entscheidungsfindung
Ternärer OperatorZugehörigkeitsprüfungenIdentitätsprüfungenEinrückungsfehlerZusammenfassung - Urlaubsfilter8Studenten-Datenverwaltung
ProjektübersichtStudent hinzufügen11Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Recap Challenge – Lambda SortRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Recap – Verschachtelte Listen summieren14Funktionen höherer Ordnung
Die Map-FunktionDie Filter-FunktionWiederholung – E-Mail-ValidatorWiederholung – Zahlenprozessor3Dictionaries Teil 2
Dictionary-MethodenVerschachtelte DictionariesKeys überprüfenDictionaries durchlaufenZusammenfassung – Häufigkeitszähler9Fortgeschrittene Datenaggregation
Verwendung von SumMinimum und Maximum findenDaten effizient sortierenRückblick - Dictionary Sorter12Grundlagen der Fehlerbehandlung
Was ist Fehlerbehandlung?Der Try- und Except-BlockBehandlung mehrerer ExceptionsRückblick – Warenkorb-FehlerÜbe selbstständig: Online-Python-Compiler