Menu
CoddyTech

Adicionar Item

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 72 de 78.

challenge icon

Desafio

Fácil

Adicione o comando add. Mantenha tudo o que você escreveu na etapa anterior.

Uma linha como add Apple 0.5 100 adiciona o item Apple com o preço 0.5 e um estoque de 100. Os nomes dos itens devem ter uma palavra.

Primeiro, escreva a função add_item(inventory, item, price, stock) acima de _ready():

  1. Se o item já estiver em inventory, imprima Error: Item 'Apple' already exists. (com o nome do item) e não altere nada
  2. Caso contrário, armazene {"price": price, "stock": stock} sob o nome do item e imprima Item 'Apple' added successfully.

Em seguida, adicione um ramo elif para add no loop. Verifique a linha antes de chamar a função:

  • Se a linha não tiver exatamente 4 partes, imprima Error: Use add ITEM PRICE STOCK
  • Se o preço não for um número ou o estoque não for um número inteiro, imprima Error: Price and stock must be numeric.
  • Caso contrário, chame add_item() com o preço convertido para float e o estoque para int

Para os comandos add Apple 0.5 100, add Banana 0.2 50, add Apple 0.6 30, show e exit, a saída é:

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!

Experimente você mesmo

extends Node

func _ready():
	# O inventário: nome do item -> {"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 as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online