Menu
CoddyTech

Добавление товара

Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 72 из 78.

challenge icon

Задание

Легко

Добавь команду add. Сохрани всё, что ты написал на предыдущем шаге.

Строка вроде add Apple 0.5 100 добавляет товар Apple с ценой 0.5 и запасом в количестве 100. Названия товаров состоят из одного слова.

Сначала напиши функцию add_item(inventory, item, price, stock) выше _ready():

  1. Если товар уже есть в inventory, выведи Error: Item 'Apple' already exists. (с названием товара) и ничего не меняй
  2. Иначе сохрани {"price": price, "stock": stock} под названием товара и выведи Item 'Apple' added successfully.

Затем добавь ветвь elif для add в цикл. Проверь строку до вызова функции:

  • Если в строке не ровно 4 части, выведи Error: Use add ITEM PRICE STOCK
  • Если цена не является числом или запас не является целым числом, выведи Error: Price and stock must be numeric.
  • Иначе вызови add_item(), преобразовав цену в float, а запас — в int

Для команд add Apple 0.5 100, add Banana 0.2 50, add Apple 0.6 30, show и exit вывод будет таким:

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!

Попробуйте сами

extends Node

func _ready():
	# Инвентарь: название товара -> {"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")

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript