Artikel hinzufügen
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 72 von 78.
Aufgabe
EinfachFüge den Befehl add hinzu. Behalte alles bei, was du im vorherigen Schritt geschrieben hast.
Eine Zeile wie add Apple 0.5 100 fügt den Artikel Apple mit dem Preis 0.5 und einem Bestand von 100 hinzu. Artikelnamen bestehen aus einem Wort.
Schreibe zuerst die Funktion add_item(inventory, item, price, stock) oberhalb von _ready():
- Wenn der Artikel bereits in
inventoryenthalten ist, gibError: Item 'Apple' already exists.(mit dem Artikelnamen) aus und ändere nichts - Speichere andernfalls
{"price": price, "stock": stock}unter dem Artikelnamen und gibItem 'Apple' added successfully.aus
Füge dann in der Schleife einen elif-Zweig für add hinzu. Überprüfe die Zeile, bevor du die Funktion aufrufst:
- Wenn die Zeile nicht genau
4Teile hat, gibError: Use add ITEM PRICE STOCKaus - Wenn der Preis keine Zahl oder der Bestand keine ganze Zahl ist, gib
Error: Price and stock must be numeric.aus - Rufe andernfalls
add_item()auf, wobei der Preis in einenfloatund der Bestand in einenintumgewandelt wird
Für die Befehle add Apple 0.5 100, add Banana 0.2 50, add Apple 0.6 30, show und exit lautet die Ausgabe:
Inventory Management System
Item 'Apple' added successfully.
Item 'Banana' added successfully.
Error: Item 'Apple' already exists.
{ "Apple": { "price": 0.5, "stock": 100 }, "Banana": { "price": 0.2, "stock": 50 } }
Goodbye!Probier es selbst
extends Node
func _ready():
# Das Inventar: Artikelname -> {"price": float, "stock": int}
var inventory := {}
print("Inventory Management System")
while true:
var line := OS.read_string_from_stdin()
var parts := line.split(" ")
var command := parts[0]
if command == "exit":
print("Goodbye!")
break
elif command == "show":
print(inventory)
else:
print("Unknown command")
Alle Lektionen in Logik & Ablaufsteuerung
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler