Целочисленное деление и остаток (// и %)

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

В этом модуле мы изучим два важных арифметических оператора в Python: целочисленное деление (Double Slash) и остаток от деления (Percent).

Эти операторы незаменимы, когда нужно определить четность числа, разделить предметы на группы, извлечь цифры из числа или конвертировать единицы измерения (например, секунды в минуты).
Вы научитесь:

  • Отбрасывать дробную часть при делении.
  • Находить "хвост", который остался после деления.
  • Применять эти операции для решения практических задач.

Выполняйте задания последовательно, внимательно читайте условия и сообщения об ошибках. Удачи!

Список тем

Базовый синтаксис операторов

id: 39960_task_replace_intro

Заполните пропуски, чтобы получить указанные результаты. Обратите внимание, какой оператор отвечает за целую часть, а какой — за остаток.

Заполните пропуски
x = 17
# Нам нужно получить 3 (сколько раз 5 помещается в 17)
result_div = x input1S 5

# Нам нужно получить 2 (что осталось от 17 после деления на 5)
result_mod = x input2S 5

print(result_div, result_mod)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сопоставление операторов и результатов

id: 39960_task_compare_defs

Сопоставьте математические выражения с их результатами. Считайте внимательно!

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
6
2
6.666...
0
print(20 // 3)
print(20 % 3)
print(20 / 3)
print(20 % 2)
Сообщения
Проверить
Показать подсказку

Особенности целочисленного деления

id: 39960_task_predict_floor

Что выведет этот код? Обратите внимание, что происходит, когда делитель больше делимого.

Выберите правильный вариант ответа
apples = 3
people = 5
apples_per_person = apples // people
print(apples_per_person)
Сообщения
Проверить
Показать подсказку

Цикличность остатка

id: 39960_task_predict_mod

Какой результат выдаст операция взятия остатка? Это классический пример использования `%` для проверки делимости.

Выберите правильный вариант ответа
number = 40
divisor = 8
print(number % divisor)
Сообщения
Проверить
Показать подсказку

Проверка на четность

id: 39960_task_bank_even

Соберите условие, которое проверяет, является ли число `n` четным. Используйте правильный оператор и значение для сравнения.

Нужно правильно расставить в пропуски предложенные варианты
n = 42
if n input1S input2S == input3S:
    print("Четное")
%
//
2
0
1
/
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сортировка результатов вычислений

id: 39960_task_sort_results

Распределите выражения по папкам в зависимости от того, чему равен результат их выполнения.

Перетяните элементы в соответствующие блоки
Результат равен 1
Результат равен 2
10 % 3
100 // 100
13 % 2
5 // 2
12 % 5
20 // 10
Сообщения
Проверить
Показать подсказку

Ошибка в подсчете коробок

id: 39960_task_error_logic

Мы хотим узнать, сколько ПОЛНЫХ коробок по 6 яиц можно собрать из 20 яиц. Сейчас код выдает дробное число. Исправьте оператор.

Найдите ошибку и исправьте
eggs = 20
box_size = 6
full_boxes = eggs / box_size
print(full_boxes)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Вычисление координат

id: 39960_task_give_calc

У нас есть длинная лента из 125 светодиодов. Мы организуем их в ряды по 10 штук. Код вычисляет номер ряда (row) и позицию в ряду (pos). Введите, что выведет `print`.

Что должно получиться?
index = 125
width = 10

row = index // width
pos = index % width

print(f"Row: {row}, Pos: {pos}")
Сообщения
Проверить
Показать подсказку

Сумма цифр двузначного числа

id: 39960_task_seq_digits

Восстановите порядок строк, чтобы код нашел сумму цифр числа 47 (4 + 7).

Расставьте строки в правильном порядке
last_digit = num % 10
num = 47
first_digit = num // 10
print(first_digit + last_digit)
Сообщения
Проверить
Показать подсказку

Конвертер времени

id: 39960_task_build_time

Соберите программу, которая переводит 185 минут в формат "часы и минуты". Лишняя строка содержит логическую ошибку (использует не тот тип деления).

Перетяните в правильном порядке строки из одного блока в другой
print(f"{hours} ч. {minutes} мин.")
total_mins = 185
minutes = total_mins % 60
hours = total_mins / 60
hours = total_mins // 60
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру