РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
97 of 541 menu

Функция divmod

Функция divmod возвращает кортеж из двух массивов: частное и остаток от деления элементов первого массива на элементы второго. Это эквивалентно одновременному выполнению операций floor_divide и remainder. Функция работает поэлементно и поддерживает вещание (broadcasting). Для целых чисел частное округляется вниз, для вещественных - также вниз с учетом знака.

Синтаксис

np.divmod(x1, x2, out=None, where=True)

Параметры:

  • x1 - первый массив или число (делимое);
  • x2 - второй массив или число (делитель);
  • out - необязательный кортеж для сохранения результата;
  • where - условие для вычислений.

Пример с целыми числами

Рассмотрим базовое применение функции для целочисленных массивов:

import numpy as np arr1 = np.array([10, 20, 30, 40, 50]) arr2 = np.array([3, 4, 6, 7, 9]) quotient, remainder = np.divmod(arr1, arr2) print("quotient:", quotient) print("remainder:", remainder)

Результат выполнения кода:

quotient: [3 5 5 5 5] remainder: [1 0 0 5 5]

Пример с вещественными числами

Функция работает и с числами с плавающей точкой:

import numpy as np arr1 = np.array([7.5, 14.2, 21.8]) arr2 = np.array([2.5, 3.1, 4.2]) quotient, remainder = np.divmod(arr1, arr2) print("quotient:", quotient) print("remainder:", remainder)

Результат выполнения кода:

quotient: [3. 4. 5.] remainder: [0. 1.8 0.8]

Пример с отрицательными числами

Важно помнить, что частное округляется вниз, что влияет на остаток:

import numpy as np arr1 = np.array([-10, -20, 30, -40]) arr2 = np.array([3, 6, 4, 7]) quotient, remainder = np.divmod(arr1, arr2) print("quotient:", quotient) print("remainder:", remainder)

Результат выполнения кода:

quotient: [-4 -4 7 -6] remainder: [2 4 2 2]

Пример с вещанием (broadcasting)

Функция поддерживает вещание, что позволяет делить массив на скаляр:

import numpy as np arr = np.array([15, 27, 33, 48]) divisor = 5 quotient, remainder = np.divmod(arr, divisor) print("quotient:", quotient) print("remainder:", remainder)

Результат выполнения кода:

quotient: [3 5 6 9] remainder: [0 2 3 3]

Смотрите также

  • функцию floor_divide,
    которая возвращает только частное от деления
  • функцию remainder,
    которая возвращает только остаток от деления
  • функцию mod,
    которая вычисляет остаток от деления (аналог remainder)
  • функцию divide,
    которая выполняет обычное деление чисел
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить