Menu
CoddyTech

Artikel hinzufügen

Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 72 von 78.

challenge icon

Aufgabe

Einfach

Fü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():

  1. Wenn der Artikel bereits in inventory enthalten ist, gib Error: Item 'Apple' already exists. (mit dem Artikelnamen) aus und ändere nichts
  2. Speichere andernfalls {"price": price, "stock": stock} unter dem Artikelnamen und gib Item '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 4 Teile hat, gib Error: Use add ITEM PRICE STOCK aus
  • 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 einen float und der Bestand in einen int umgewandelt 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

Übe selbstständig: Online-GDScript-Compiler