Добавление товара
Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 72 из 78.
Задание
ЛегкоДобавь команду add. Сохрани всё, что ты написал на предыдущем шаге.
Строка вроде add Apple 0.5 100 добавляет товар Apple с ценой 0.5 и запасом в количестве 100. Названия товаров состоят из одного слова.
Сначала напиши функцию add_item(inventory, item, price, stock) выше _ready():
- Если товар уже есть в
inventory, выведиError: Item 'Apple' already exists.(с названием товара) и ничего не меняй - Иначе сохрани
{"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")
Все уроки раздела Логика и потоки выполнения
1Строки: углублённое изучение
Методы строкПоиск в строкахЗамена и обрезка пробеловРазделение и объединениеПовторение — проверка имени пользователя4Словари. Часть 2
Вложенные словариМассивы словарейОбъединение словарейКопирование словарейПовторение — подсчёт частоты10Продвинутые функции
Возврат нескольких значенийЛямбда-функции. Часть 1Лямбда-функции. Часть 2Повторение — сортировка с помощью лямбда-функцииРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного массива13Система управления запасами
Обзор проектаДобавление товара2Продвинутое управление ветвлением
Сопоставление с переменнымиУсловия в шаблонахШаблоны массивовШаблоны словарейПроверка принадлежностиИтоги — парсер команд5Приложение «Телефонная книга»
Показать менюДобавить контакт8Менеджер успеваемости студентов
Обзор проектаДобавить студента3Многомерные массивы
Основы двумерных массивовДоступ к элементам двумерного массиваВложенные циклы с двумерными массивамиПовторение: двумерные массивыРваные массивыТипичные шаблоны работы с двумерными массивамиПовторение: игровое поле6Множества и словари
Что такое множество?Словарь как множествоДобавление и удалениеОбъединение и пересечениеРазность множествПовторение — удаление дубликатовПотренируйтесь самостоятельно: Онлайн-компилятор GDScript