Цикл while
Часть раздела Основы путешествия по Lua на Coddy. Урок 71 из 90.
Цикл while идеально подходит для этого — он продолжает выполнять один и тот же код снова и снова, пока условие остаётся true.
Базовый синтаксис цикла while выглядит так:
while condition do
-- код для повторения
endВот простой пример, который выводит числа от 1 до 3:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endЭтот loop сначала проверяет, является ли условие count <= 3 истинным. Если это так, выполняется код внутри него: выводится текущее число, а счётчик увеличивается. Затем он снова проверяет condition, и процесс повторяется, пока condition не станет ложным.
Задание
ЛегкоСоздай систему мониторинга health, которая использует цикл while для отслеживания процесса восстановления player. Начни с создания переменной с именем playerHealth и присвой ей значение 25. Затем создай другую переменную с именем maxHealth и присвой ей значение 100.
Напиши цикл while, который continues, пока health player меньше его максимального health. Inside цикла сначала выведи значение current health, затем increase playerHealth на 15. Поскольку print выполняется до увеличения, последним выведенным значением будет 85: condition цикла снова проверяется после добавления 15 (при этом playerHealth становится равной 100), и, поскольку 100 не меньше maxHealth, loop останавливается, не выводя 100.
Ожидаемый результат:
2540557085Попробуйте сами
-- Инициализируйте здоровье игрока и максимальное здоровье
local playerHealth = 25
local maxHealth = 100
-- TODO: Напишите свой код здесь
-- Создайте цикл while, который продолжается, пока playerHealth < maxHealth
-- Внутри цикла: выведите текущее здоровье, затем увеличьте playerHealth на 15В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы 2: Сравнение и логика
Операторы равенстваОператоры сравненияОператор 'and'Оператор 'or'Оператор 'not'Сокращенные вычисленияЗначения Truthy и FalsyИтоги: Простая логика7Основы условной логики
Оператор if-thenОператор if-then-elseОператор elseifИтоги — Сундук с сокровищами10Таблицы, часть 1: Списки
Что такое таблица?Создание таблицыДоступ к элементам по индексуИзменение элементов по индексуОператор длины '#'table.insert()table.remove()Итоги: управление участниками группы13Проект: Простой магазин зелий
Настройка проектаДобавление зелья2Переменные и типы данных
Что такое переменная?ЧислаСтрокиБулевы значенияЗначение 'nil'Функция type()Правила именованияИтоги — Профиль персонажа5Базовый вывод
Вывод литераловВывод переменныхВывод нескольких значенийОбъединение строк и переменныхФункция tostring()ВводПриведение типовПовторение — Отчет о состоянииПовторение — До 1208Основы работы со строками
string.len()string.upper и string.lowerstring.sub()string.rep()string.find()Повторение — Форматирование имени пользователя3Операторы 1: Арифметика и конкатенация
Арифметические операторыОператор остатка от деленияОператор возведения в степеньКонкатенация строкПриоритет операторовПовторение: Простые вычисления6Проект: Вывод характеристик персонажа
Приветственное сообщениеОбъявление характеристик персонажа9Основы функций
Объявление функцииВызов функцииФункции с параметрамиФункции с несколькими параметрамиОператор 'return'Повторение — Калькулятор площади12Основы циклов
Цикл whileЦикл repeat-untilЧисловой цикл forЦикл for с шагомОператор 'break'Повторение — Обратный отсчётПотренируйтесь самостоятельно: Онлайн-компилятор Lua