Оператор модуля (%) у Python
Коли ми бачимо «%», перше, що спадає нам на думку, — це відсоток, але комп’ютерною мовою це означає операція за модулем (%), який повертає залишок від ділення лівого операнда на правий операнд або, кажучи простою мовою, знаходить залишок або залишок зі знаком після ділення одного числа на інше.
Дано два додатних числа, a і n, a за модулем n (a % n, скорочено a проти n) є залишком Евклідове поділ a на n, де a — ділене, а n — дільник.
Оператор Python Modulo
По суті, операція Python modulo використовується для отримання залишку від ділення. Оператор модуля ( % ) вважається арифметичною дією разом з + , – , / , * , ** , // . У більшості мов обидва операнди цього оператора модуля мають бути цілими числами. Але Python Modulo є універсальним у цьому випадку. Операндами можуть бути будь-які цілі числа або плаває .
Синтаксис:
a % b
Тут a ділиться на b, а залишок від ділення повертається.
Оператор модуля з цілим числом
Зберігає залишок, отриманий при діленні a на b, у c
Python3
# inputs> a> => 13> b> => 5> c> => a> %> b> print> (a,> 'mod'> , b,> '='> ,> > c, sep> => ' '> )> |
Вихід:
13 mod 5 = 3
Оператор модуля з плаваючою точкою з від’ємним числом.
Зберігає залишок, отриманий при діленні d на e, у f. Щоб отримати більше прикладів, зверніться до статті Як виконати Modulo з від’ємними значеннями в Python.
Python3
# inputs> d> => 15.0> e> => -> 7.0> f> => d> %> e> print> (d,> 'mod'> , e,> '='> ,> > f, sep> => ' '> )> |
Вихід:
15.0 mod -7.0 = -6.0
Приклад використання оператора Modulo
Припустимо, ми хочемо обчислити залишок від ділення кожного числа від 1 до n на фіксоване число k.
Python3
# function is defined for finding out> # the remainder of every number from 1 to n> def> findRemainder(n, k):> > > for> i> in> range> (> 1> , n> +> 1> ):> > # rem will store the remainder> > # when i is divided by k.> > rem> => i> %> k> > > print> (i,> 'mod'> , k,> '='> ,> > rem, sep> => ' '> )> # Driver code> if> __name__> => => '__main__'> :> > > # inputs> > n> => 5> > k> => 3> > > # function calling> > findRemainder(n, k)> |
Вихід:
1 mod 3 = 1 2 mod 3 = 2 3 mod 3 = 0 4 mod 3 = 1 5 mod 3 = 2
ZeroDivisionError у Python
Єдиним винятком, який ви отримуєте з операцією Python modulo, є ZeroDivisionError . Це відбувається, якщо операнд дільника оператора модуля стає нуль . Це означає, що правий операнд не може дорівнювати нулю . Давайте переглянемо наступний код, щоб дізнатися про цей виняток Python.
Python3
# inputs> a> => 14> b> => 0> # exception handling> try> :> > print> (a,> 'mod'> , b,> '='> ,> > a> %> b, sep> => ' '> )> > except> ZeroDivisionError as err:> > print> (> 'Cannot divide by zero!'> +> > 'Change the value of the right operand.'> )> |
Вихід:
Cannot divide by zero! Change the value of the right operand.