Modulio operatorius (%) Python
Kai matome „%“, pirmas dalykas, kuris ateina į galvą, yra procentas, tačiau kompiuterių kalba tai reiškia modulinis veikimas (%), kuris grąžina kairiojo operando dalijimo iš dešiniojo operando likutį arba, paprastai tariant, randa priminimas arba pasirašė likusią dalį padalijus vieną skaičių kitu.
Duoti du teigiami skaičiai a ir n, modulis n (a % n, sutrumpintas kaip a prieš n) yra likusioji dalis Euklido padalijimas a iš n, kur a yra dividendas, o n yra daliklis.
Python Modulo operatorius
Iš esmės Python modulo operacija naudojama likusiai padalijimo daliai gauti. Modulo operatorius ( % ) yra laikomas aritmetine operacija, kartu su + , – , / , * , ** , // . Daugumoje kalbų abu šio modulio operatoriaus operandai turi būti sveikieji skaičiai. Tačiau „Python Modulo“ šiuo atveju yra universalus. Operandai gali būti tiek sveikieji skaičiai arba plūduriuoja .
Sintaksė:
a % b
Čia a dalijamas iš b ir grąžinama likusi dalis.
Modulo operatorius su sveikuoju skaičiumi
Išsaugo likutį, gautą padalijus a iš b, c
Python3
# inputs> a> => 13> b> => 5> c> => a> %> b> print> (a,> 'mod'> , b,> '='> ,> > c, sep> => ' '> )> |
Išvestis:
13 mod 5 = 3
Modulo operatorius Su plūduriu su neigiamu skaičiumi.
Išsaugo likutį, gautą padalijus d iš e, f. Norėdami gauti daugiau pavyzdžių, žr. Kaip atlikti Modulo su neigiamomis reikšmėmis Python.
Python3
# inputs> d> => 15.0> e> => -> 7.0> f> => d> %> e> print> (d,> 'mod'> , e,> '='> ,> > f, sep> => ' '> )> |
Išvestis:
15.0 mod -7.0 = -6.0
Pavyzdys naudojant Modulo operatorių
Tarkime, norime apskaičiuoti kiekvieno skaičiaus nuo 1 iki n likutį, padalytą iš fiksuoto skaičiaus 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)> |
Išvestis:
1 mod 3 = 1 2 mod 3 = 2 3 mod 3 = 0 4 mod 3 = 1 5 mod 3 = 2
ZeroDivisionError Python
Vienintelė išimtis, kurią gaunate su Python modulo operacija ZeroDivision Error . Taip atsitinka, jei modulo operatoriaus daliklis operandas tampa nulis . Tai reiškia, dešinysis operandas negali būti nulis . Pažiūrėkime šį kodą, kad sužinotume apie šią Python išimtį.
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.'> )> |
Išvestis:
Cannot divide by zero! Change the value of the right operand.