Menu
CoddyTech

Añadir artículo

Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 72 de 78.

challenge icon

Desafío

Fácil

Añade el comando add. Conserva todo lo que escribiste en el paso anterior.

Una línea como add Apple 0.5 100 añade el artículo Apple con el precio 0.5 y unas existencias de 100. Los nombres de los artículos tienen una sola palabra.

Primero, escribe la función add_item(inventory, item, price, stock) encima de _ready():

  1. Si el artículo ya está en inventory, imprime Error: Item 'Apple' already exists. (con el nombre del artículo) y no cambies nada
  2. De lo contrario, guarda {"price": price, "stock": stock} con el nombre del artículo como clave e imprime Item 'Apple' added successfully.

Después, añade una rama elif para add en el bucle. Comprueba la línea antes de llamar a la función:

  • Si la línea no tiene exactamente 4 partes, imprime Error: Use add ITEM PRICE STOCK
  • Si el precio no es un número o las existencias no son un número entero, imprime Error: Price and stock must be numeric.
  • De lo contrario, llama a add_item() con el precio convertido a float y las existencias convertidas a int

Para los comandos add Apple 0.5 100, add Banana 0.2 50, add Apple 0.6 30, show y exit, la salida es:

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!

Pruébalo tú mismo

extends Node

func _ready():
	# El inventario: nombre del artículo -> {"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")

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de GDScript online