Функция divmod
в Python используется для одновременного вычисления частного и остатка от деления двух чисел. Это встроенная функция, которая возвращает кортеж, содержащий частное и остаток.
Содержание
- Синтаксис
- Параметры
- Возвращаемое значение
- Примеры использования
- Пример 1: Целочисленное деление и остаток
- Пример 2: Деление с плавающей запятой
- Пример 3: Отрицательные числа
- Практическое применение
- Пример 4: Преобразование секунд в минуты и секунды
- Обработка исключений
- Пример 5: Обработка исключения ZeroDivisionError
Синтаксис
divmod(a, b)
Параметры
a
: Делимое. Это может быть целое число или число с плавающей запятой.b
: Делитель. Это может быть целое число или число с плавающей запятой.
Возвращаемое значение
Функция возвращает кортеж (a // b, a % b)
, где:
a // b
— частное от целочисленного деленияa
наb
.a % b
— остаток от деленияa
наb
.
Примеры использования
Пример 1: Целочисленное деление и остаток
result = divmod(10, 3)
print(result) # Вывод: (3, 1)
В этом примере частное от деления 10 на 3 равно 3, а остаток — 1.
Пример 2: Деление с плавающей запятой
result = divmod(10.5, 2.5)
print(result) # Вывод: (4.0, 0.5)
В этом примере частное от деления 10.5 на 2.5 равно 4.0, а остаток — 0.5.
Пример 3: Отрицательные числа
result = divmod(-10, 3)
print(result) # Вывод: (-4, 2)
В этом примере частное от деления -10 на 3 равно -4, а остаток — 2.
Практическое применение
Функция divmod
полезна в ситуациях, когда нужно одновременно получить и частное, и остаток от деления. Это может быть полезно в различных алгоритмах и математических вычислениях.
Пример 4: Преобразование секунд в минуты и секунды
total_seconds = 125
minutes, seconds = divmod(total_seconds, 60)
print(f"{minutes} минут и {seconds} секунд") # Вывод: 2 минут и 5 секунд
Обработка исключений
Если делитель равен нулю, функция divmod
выбросит исключение ZeroDivisionError
.
Пример 5: Обработка исключения ZeroDivisionError
try:
result = divmod(10, 0)
except ZeroDivisionError as e:
print(e) # Вывод: integer division or modulo by zero