Числа
print умеет выводить и числа. Числа пишут без кавычек, и Lua умеет с ними считать. Если поместить вычисление в скобки, Lua сначала выполнит его и выведет результат:
print(42)
print(7 + 5)
print(20 - 9)
print(3 * 4)
print(5 - 8)Программа выведет:
42
12
11
12
-3Для основной арифметики Lua использует такие операторы (символы операций):
+сложение-вычитание*умножение (звёздочка, потому что на клавиатуре нет знака ×)/деление
Вычисление в кавычках — это текст, а текст выводится в точности так, как записан: print("7 + 5") выводит 7 + 5.
Как и в математике, умножение и деление выполняются раньше сложения и вычитания, а операции одного уровня — слева направо. Если нужен другой порядок, используйте скобки:
print(2 + 3 * 4)
print((2 + 3) * 4)Программа выведет:
14
20В первой строке Lua сначала умножает 3 * 4, получает 12, и только потом прибавляет 2. Во второй строке скобки заставляют его сначала сложить 2 + 3, и лишь затем умножить 5 на 4.
У деления есть сюрприз:
print(7 / 2)
print(10 / 2)Программа выведет:
3.5
5.0Деление с помощью / всегда даёт десятичное число, даже если результат целый, поэтому 10 / 2 выводит 5.0, а не 5. Значение то же самое, это просто другой вид числа. В Lua два вида чисел, целые и десятичные, и всё о них вы узнаете в следующем уроке.
Десятичные числа пишут с точкой, 2.5, и никогда с запятой (почему — вы увидите в следующем упражнении). Большие числа тоже пишите без пробелов и запятых: 1250, а не 1 250 и не 1,250. А вот пробелы вокруг операторов ничего не меняют, они просто облегчают чтение кода. И умножайте с помощью *, а не буквы x: print(3 x 4) заканчивается ошибкой.
Задание
- 1
В понедельник куры Эммы снесли 7 яиц, во вторник — 9, а в среду — 8. Запустите программу: вторая строка выводит вычисление как текст. Уберите вокруг него кавычки, чтобы Lua сложил яйца и программа вывела:
Яйца с понедельника по среду: 24 - 2
Эмма продаёт яйца в коробках по 6 штук. Ниже выведите заголовок
Полных коробок:, а на следующей строке пусть Lua посчитает, сколько коробок заполнят эти яйца: сумма яиц, делённая на 6. Используйте скобки, чтобы Lua сначала сложил, а потом разделил. Деление даёт десятичное число, поэтому программа выведет:Яйца с понедельника по среду: 24 Полных коробок: 4.0 - 3
На рынке Эмма продаёт 3 коробки по 12 монет каждая, а за место на рынке платит 5 монет. Выведите заголовок
Монеты с рынка:, а под ним пусть Lua посчитает, сколько она зарабатывает: цена 3 коробок минус 5. На этот раз скобки не нужны, потому что умножение и так выполняется первым. Программа выведет:Яйца с понедельника по среду: 24 Полных коробок: 4.0 Монеты с рынка: 31