Деление и остаток
Вы уже знаете, что деление с помощью / всегда даёт десятичное число, даже если результат целый:
print(7 / 2)
print(6 / 2)Программа выведет:
3.5
3.0Десятичные числа в Python записывают через точку: 1.5, а не через запятую (1,5), как мы привыкли писать по-русски. В Python запятая разделяет значения, поэтому print(1,5) выведет не полтора, а два числа: 1 5.
Иногда последняя цифра десятичного результата немного «не та»: print(0.1 + 0.2) выводит 0.30000000000000004. Компьютеры хранят десятичные числа с крошечной неточностью. Это не ошибка вашей программы, так что не удивляйтесь.
Часто нужно делить целые числа так, как вы учились в начальной школе: сколько раз одно число помещается в другое и сколько остаётся? Для этого в Python есть два оператора:
//(две косые черты) — целочисленное деление: оно показывает, сколько раз одно число помещается в другое, и отбрасывает остаток.%(знак процента) даёт остаток от деления: то, что осталось. Программисты называют эту операцию modulo.
print(7 // 3)
print(7 % 3)Программа выведет:
2
13 помещается в 7 дважды (2 × 3 = 6), и остаётся 1: 7 = 2 × 3 + 1. Поэтому 7 // 3 — это 2, а 7 % 3 — это 1. Когда число делится нацело, остатка нет: 10 % 5 — это 0.
% часто используют, чтобы отличать чётные числа от нечётных. При делении чётного числа на 2 остатка нет, а у нечётного остаётся 1:
print(8 % 2)
print(9 % 2)Программа выведет:
0
1Значит, число чётное, если остаток от деления на 2 равен 0. Это пригодится в следующих уроках, когда ваши программы начнут принимать решения.
Задание
- 1
Выведите цену половины плитки шоколада:
chocolate_price, делённое на2. - 2
Сколько плиток шоколада можно купить на деньги из
wallet? Создайте переменнуюbarsс результатом деленияwalletнаchocolate_priceс помощью//. - 3
Сколько денег у вас останется? Создайте переменную
money_leftс остатком от деленияwalletнаchocolate_price. Используйте%. - 4
Выведите оба значения вот так:
Плиток: 2 Осталось денег: 10 - 5
Цена плитки шоколада чётная или нечётная? Выведите остаток от деления
chocolate_priceна2.