Div and mod. Питон
Дано трехзначное число. Разобрать
его на цифры.
x 123
1
x1
2
x2
3
x3
• x=int(input())
• x1= x // 100; < делим на 100 и берем целую часть
• x2= x % 100 //10; < нужно 2 шага:
1) делим на 100 и берем остаток (123 % 100 даст 23).
2) затем делим на 10, берем целую часть (23 // 10=2).
• x3= x % 10; < делим на 10 и берем остаток
• print (x1,x2,x3);
Что делает divmod функция в Python?
Функция divmod() принимает в качестве аргументов два числа и возвращает кортеж из двух значений, первое из которых частное от деления аргументов, а второе остаток от деления.
divmod(19, 5) # (3, 4) divmod(6, 3) # (2, 0) divmod(19.5, 6) # (3.0, 1.5)
numpy.mod
Вычисляет остаток в дополнение к функции floor_divide . Он эквивалентен оператору модуля Python x1 % x2 и имеет тот же знак, что и делитель x2 . Функцией MATLAB, эквивалентной np.remainder , является mod .
Это не следует путать с:
- Python 3.7’s math.remainder и remainder C, который вычисляет остаток IEEE, являющийся дополнением к round(x1 / x2) .
- Функция MATLAB rem и/или оператор C % , который является дополнением к int(x1 / x2) .
Parameters x1array_like
x2array_like
Массив делителей. Если x1.shape != x2.shape , они должны транслироваться в общую форму (которая становится формой output).).
outndarray, None или кортеж ndarray и None, необязательно
Местоположение, в котором сохраняется результат. Если он предоставлен, он должен иметь форму, в которую транслируются входы. Если не указан или None, возвращается только что выделенный массив. Кортеж (возможен только как аргумент ключевого слова) должен иметь длину, равную количеству выходов.
wherearray_like, optional
Это условие транслируется по входу. В местах, где условие равно True, массив out будет установлен на результат ufunc. В других местах массив out сохранит исходное значение. Обратите внимание, что если неинициализированный массив out создан с помощью out=None по умолчанию, области в нем, где условие равно False, останутся неинициализированными.
**kwargs
Другие аргументы, содержащие только ключевые слова, см. в ufunc docs .
Returns yndarray
Поэлементный остаток от частного floor_divide(x1, x2) . Это скаляр, если и x1 , и x2 являются скалярами.
Эквивалент оператора Python // .
Одновременное деление этажа и остаток.
Эквивалент функции MATLAB rem .
Notes
Возвращает 0, когда x2 равно 0, а x1 и x2 являются (массивами) целых чисел. mod — это псевдоним remainder .
Examples
>>> np.remainder([4, 7], [2, 3]) array([0, 1]) >>> np.remainder(np.arange(7), 5) array([0, 1, 2, 3, 4, 0, 1])
Оператор % можно использовать как сокращение для np.remainder на ndarrays.
>>> x1 = np.arange(7) >>> x1 % 5 array([0, 1, 2, 3, 4, 0, 1])
Оператор модуля Python
Операция по модулю — это арифметическая операция, которая находит остаток от деления одного числа на другое. Остаток называется модулем операции.
Например, 5, разделенное на 3, равно 1 с остатком 2, а 8, разделенное на 4, равно 2, с остатком 0.
Оператор модуля Python
В Python оператор по модулю представлен знаком процента ( % ). Синтаксис следующий:
num1 % num2
5 % 4
Если делитель (второй аргумент) равен нулю, возникает ZeroDivisionError :
5 % 0
ZeroDivisionError: integer division or modulo by zero
Оператор по модулю также принимает плавающие числа в качестве аргументов:
6.8 % 3.4
При форматировании строк символ % представляет оператор интерполяции.
Примеры
Один из распространенных случаев использования оператора по модулю — проверка четности или нечетности числа. Если число, деленное на 2, не имеет остатка, то это четное число. В противном случае, если остается 1, то число нечетное:
num = 11 if (num % 2) == 0: print(num, "is even") else: print(num, "is odd")
Если вы запустите приведенный выше код, 11 % 2 оставит остаток 1 и будет выполнен код внутри оператора else :
11 is odd
Вот еще один пример, показывающий, как с помощью оператора по модулю проверить, является ли число простым. Простое число — это целое положительное число, которое без остатка можно разделить только на себя и на 1:
def isPrimeNumber(num): if num 1: return False for i in range(2, num): if (num % i) == 0: return False else: return True
Сначала мы проверяем, является ли число num положительным числом. Затем мы проверяем, делится ли число на другое число в диапазоне от 2 до num без напоминания. Если ни одно из условий не выполняется, число простое.
Оператор по модулю также может использоваться для преобразования единиц измерения. В следующем примере показано, как преобразовать секунды в минуты:
def secondsToMinutes(sec): seconds = sec // 60 minutes = sec % 60 return "%d minutes and %d seconds" % (minutes, seconds) secondsToMinutes(657)
'57 minutes and 10 seconds'
Двойная косая черта ( // ), оператор деления по этажам округляет результат до ближайшего целого числа.
Выводы
В этой статье мы показали вам, как использовать оператор Python по модулю.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.