🔢 Свой первый калькулятор на Lua — учимся программировать с нуля

Ты только начал изучать Lua и не знаешь, с чего начать? Давай напишем простой, но полезный проект — интерактивный калькулятор в терминале.

Разработка

📘 Уровень: новичок

🧠 Ты научишься:

  • использовать переменные

  • считывать ввод пользователя

  • работать с числами

  • применять условия (if, elseif, else)

🚀 Что будем делать

В этом задании ты создашь простой калькулятор, который умеет складывать, вычитать, умножать и делить два числа. Всё будет происходить в терминале — как в классических консольных утилитах.

🔧 Подготовка

Можно писать код прямо в браузере, например тут:
👉 https://replit.com/languages/lua

🧱 Шаг 1: Получаем ввод

Попросим пользователя ввести два числа и знак операции:

print("Введите первое число:")
local a = io.read("*n")

print("Введите второе число:")
local b = io.read("*n")

print("Введите операцию (+, -, *, /):")
local op = io.read()

🧮 Шаг 2: Выполняем операцию

Теперь обрабатываем ввод и считаем результат:

if op == "+" then
  print("Результат: " .. (a + b))
elseif op == "-" then
  print("Результат: " .. (a - b))
elseif op == "*" then
  print("Результат: " .. (a * b))
elseif op == "/" then
  if b ~= 0 then
    print("Результат: " .. (a / b))
  else
    print("На ноль делить нельзя!")
  end
else
  print("Неизвестная операция")
end

✅ Проверка

Протестируй калькулятор:

  • 10, 5, + → 15

  • 10, 0, / → предупреждение о делении на ноль

💡 Дополнительные идеи

  • Добавь повторный запуск калькулятора после завершения

  • Сделай простое меню перед началом

  • Поддержи дробные числа

🐾 Что дальше

Теперь у тебя есть первая консольная утилита на Lua! Это отличная база для следующего шага — создания мини-приложений или даже простых игр.

Присоединяйся к нашему сообществу и учись программировать в уютной атмосфере!

Кодик 🐾 — это наш пушистый помощник, который помогает новичкам осваивать программирование легко и с улыбкой. Вместе с ним ты можешь пройти курсы по Lua, Python и другим языкам, шаг за шагом создавая реальные проекты.