Дана функция def split_total(total): return total // 100, total % 100. Что вернёт вызов split_total(250)?

A(2, 50): кортеж из частного total // 100 и остатка total % 100 от деления
B(250, 0): кортеж из исходного числа и нулевого остатка от деления на сотню
C[2, 50]: список из двух чисел, поскольку запятая в return создаёт list
DTypeError: возврат нескольких значений требует явных скобок кортежа в return
Правильный ответ. Функция может вернуть несколько значений — фактически это один tuple.

Разбор

Выражение после return содержит два значения через запятую — Python автоматически собирает их в кортеж tuple. Для 250: 250 // 100 равно 2, а 250 % 100 равно 50. Итог — (2, 50). Такой стиль часто используют для возврата связанных результатов, которые затем удобно распаковать: a, b = split_total(250). Список через запятую без скобок Python не создаёт, и ошибки тут тоже не возникает.

Проверь себя · 1/3разбор после ответа
Дан код: x = 10 на верхнем уровне модуля и def inc(): return x + 1. Что вернёт вызов inc()?
Тренировать Python в Telegram

Ещё вопросы по теме «Функции и аргументы»