Приоритет операторов
Часть раздела Fundamentals путешествия по Lua на Coddy — урок 16 из 90.
Когда вы пишете математические выражения с несколькими операторами, Lua следует определенным правилам, чтобы определить, какие операции выполнять в первую очередь. Эта концепция называется приоритетом операторов, и она работает точно так же, как порядок действий, который вы изучали в математике.
В Lua умножение и деление выполняются перед сложением и вычитанием:
result = 2 + 3 * 4 -- результат 14, а не 20
-- Lua сначала вычисляет 3 * 4 (12), затем прибавляет 2
result = 10 - 6 / 2 -- результат 7, а не 2
-- Lua сначала вычисляет 6 / 2 (3), затем вычитает из 10Для управления порядком операций вы можете использовать круглые скобки (). Операции внутри скобок всегда выполняются в первую очередь:
result = (2 + 3) * 4 -- результат равен 20
-- Lua сначала вычисляет 2 + 3 (5), затем умножает на 4
result = (10 - 6) / 2 -- результат равен 2
-- Lua сначала вычисляет 10 - 6 (4), затем делит на 2Задание
ЛегкоВычислите среднее значение трех результатов тестов, используя правильный приоритет операторов. Создайте три переменные для результатов тестов, затем напишите одно выражение, которое правильно вычисляет их среднее значение.
Создайте следующие переменные:
score1со значением85score2со значением92score3со значением78
Напишите одно выражение для вычисления среднего значения, сложив все три результата и разделив на 3. Используйте скобки, чтобы сложение произошло перед делением. Сохраните результат в переменной с именем average и выведите его на печать.
Шпаргалка
Lua следует правилам приоритета операторов, согласно которым умножение и деление выполняются перед сложением и вычитанием:
result = 2 + 3 * 4 -- результат 14, а не 20
result = 10 - 6 / 2 -- результат 7, а не 2Используйте скобки () для управления порядком операций:
result = (2 + 3) * 4 -- результат 20
result = (10 - 6) / 2 -- результат 2Попробуйте сами
-- Создайте переменные для тестовых баллов
local score1 = 85
local score2 = 92
local score3 = 78
-- TODO: Напишите здесь свой код для вычисления среднего значения, используя правильный приоритет операторов
-- Выведите результат
print(average)В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
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'Повторение — Калькулятор площади