Menu
CoddyTech

Поиск конкретного зелья

Часть раздела Основы путешествия по Lua на Coddy. Урок 81 из 90.

challenge icon

Задание

Легко

На основе системы расчёта стоимости инвентаря реализуй функцию поиска, которая позволяет находить и отображать подробную информацию о конкретном зелье в инвентаре твоего магазина.

Оставь таблицу inventory, но удали цикл расчёта общей стоимости и его вывод из предыдущего шага: на этом шаге выводится только результат поиска, а если совпадений нет, не выводится ничего.

Будут предоставлены следующие входные данные:

  • Строка с названием зелья, которое нужно найти

Используй числовой цикл for, чтобы перебирать таблицу inventory. Для каждого зелья проверь, совпадает ли его name с поисковым запросом, используя оператор равенства ==.

Когда найдёшь зелье, соответствующее запросу, выведи все его данные в следующем формате:

Found: [name]
Price: [price] gold
Stock: [stock] units

Используй конкатенацию строк, чтобы объединить описательный текст со свойствами каждого зелья. После того как найдёшь зелье и выведешь его данные, используй оператор break, чтобы выйти из цикла, поскольку ты уже нашёл то, что искал.

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

-- Inventory table with potion data
local inventory = {
    {name = "Health Potion", price = 15, stock = 8},
    {name = "Mana Potion", price = 12, stock = 5},
    {name = "Strength Potion", price = 25, stock = 3},
    {name = "Speed Potion", price = 18, stock = 2}
}

-- Initialize total value variable
local totalValue = 0

-- Calculate total inventory value using numeric for loop
for i = 1, #inventory do
    local itemValue = inventory[i].price * inventory[i].stock
    totalValue = totalValue + itemValue
end

-- Print the total inventory value
print("Total inventory value: " .. totalValue .. " gold")

Все уроки раздела Основы

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