Operator modułu (%) w Pythonie
Kiedy widzimy „%”, pierwszą rzeczą, która przychodzi nam na myśl, jest procent, ale w języku komputerowym to oznacza działanie modulo (%), która zwraca resztę z dzielenia lewego operandu przez prawy operand lub, mówiąc laikiem, znajduje reszta Lub podpisana reszta po podzieleniu jednej liczby przez drugą.
Biorąc pod uwagę dwie liczby dodatnie, a i n, a modulo n (a% n, w skrócie a przeciwko n) jest resztą Podział euklidesowy a przez n, gdzie a jest dzielną, a n jest dzielnikiem.
Operator Modulo w Pythonie
Zasadniczo operacja modulo w Pythonie służy do uzyskania reszty z dzielenia. Operator modulo ( % ) jest uważane za operację arytmetyczną, wraz z + , – , / , * , ** , // . W większości języków oba operandy tego operatora modulo muszą być liczbą całkowitą. Ale Python Modulo jest w tym przypadku wszechstronny. Operandy mogą być dowolne liczby całkowite Lub pływa .
Składnia:
a % b
Tutaj a jest dzielone przez b, a reszta tego dzielenia jest zwracana.
Operator modulo z liczbą całkowitą
Przechowuje resztę otrzymaną z dzielenia a przez b, w c
Python3
# inputs> a> => 13> b> => 5> c> => a> %> b> print> (a,> 'mod'> , b,> '='> ,> > c, sep> => ' '> )> |
Wyjście:
13 mod 5 = 3
Operator Modulo Ze zmiennoprzecinkowym liczbą ujemną.
Przechowuje resztę otrzymaną z dzielenia d przez e, w f. Aby uzyskać więcej przykładów, zobacz Jak wykonać Modulo z wartościami ujemnymi w Pythonie.
Python3
# inputs> d> => 15.0> e> => -> 7.0> f> => d> %> e> print> (d,> 'mod'> , e,> '='> ,> > f, sep> => ' '> )> |
Wyjście:
15.0 mod -7.0 = -6.0
Przykład użycia operatora Modulo
Załóżmy, że chcemy obliczyć resztę każdej liczby od 1 do n podzielonej przez stałą liczbę 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)> |
Wyjście:
1 mod 3 = 1 2 mod 3 = 2 3 mod 3 = 0 4 mod 3 = 1 5 mod 3 = 2
Błąd ZeroDivision w Pythonie
Jedynym wyjątkiem w przypadku operacji modulo w Pythonie jest Błąd ZeroDivision . Dzieje się tak, jeśli operand dzielnika operatora modulo staje się zero . Oznacza to, że prawy operand nie może wynosić zero . Zobaczmy następujący kod, aby dowiedzieć się o tym wyjątku Pythona.
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.'> )> |
Wyjście:
Cannot divide by zero! Change the value of the right operand.