Метод divmod() в Python принимает два параметра, x и y, где x рассматривается как числитель, а y — как знаменатель.
Что такое функция divmod() в Python?
Python divmod() — это встроенная функция деления, которая принимает два числа и возвращает пару чисел(кортеж), состоящую из их частного и остатка. Функция divmod() возвращает кортеж, содержащий частное и остаток, когда аргумент1(divident) делится на аргумент2(divisor). Метод divmod() вычисляет как x/y, так и x % y и возвращает оба значения.
Алгоритм
- Инициализируйте новую переменную, скажем, с заданным целым числом и счетчиком переменных равным 0.
- Запустите цикл, пока заданное целое число не станет равным 0, и продолжайте уменьшать его.
- Сохраните значение, возвращаемое divmod(n, a), в двух переменных, скажем, x и y.
- Проверьте, равно ли y 0, это будет означать, что n полностью делится на a, увеличивая значение счетчика.
- Проверьте, больше ли значение счетчика 2; если да, то число не простое, иначе оно простое.
Синтаксис
|
1 |
divmod(divident, divisor) |
Аргументы
- divident — это число, которое вы хотите разделить.
- divisor — это число, на которое нужно разделить.
Пример
См. следующий пример кода.
|
1 2 3 4 5 6 |
# app.py print('(21, 11) = ', divmod(21, 11)) print('(21, 19) = ', divmod(21, 19)) print('(46, 21) = ', divmod(46, 21)) print('(100, 10) = ', divmod(100, 10)) |
См. следующий вывод.
|
1 2 |
➜ pyt python3 app.py(21, 11) = (1, 10)(21, 19) = (1, 2)(46, 21) = (2, 4)(100, 10) = (10, 0) ➜ pyt |
Давайте возьмем значения с плавающей запятой и посмотрим на результат.
|
1 2 3 4 5 6 |
# app.py print('(21, 11) = ', divmod(21.11, 11.19)) print('(21, 19) = ', divmod(21.11, 19.11)) print('(46, 21) = ', divmod(46.11, 21.11)) print('(100, 10) = ', divmod(100.11, 10.11)) |
Смотрите вывод.
|
1 2 |
➜ pyt python3 app.py(21, 11) = (1.0, 9.92)(21, 19) = (1.0, 2.0)(46, 21) = (2.0, 3.8900000000000006)(100, 10) = (9.0, 9.120000000000005) ➜ pyt |
Ошибки и исключения
- Если любой из аргументов говорит, что a и b является типом данных с плавающей запятой, результатом будет(q, a%b). Итак, здесь q — целая часть частного.
- Если второй аргумент равен 0, возвращается ошибка деления на ноль.
- Если первый аргумент равен 0, возвращается(0, 0).
