Operator modula (%) v Pythonu

Ko vidimo »%«, je prva stvar, na katero pomislimo, odstotek, vendar v računalniškem jeziku to pomeni modulo delovanje (%), ki vrne preostanek deljenja levega operanda z desnim ali laično povedano, najde ostanek oz podpisani ostanek po delitvi enega števila z drugim.

Podani sta dve pozitivni števili, a in n, a modulo n (a % n, skrajšano kot a proti n) je ostanek Evklidska delitev od a za n, kjer je a dividenda in n delitelj.

Operator Python Modulo

V bistvu se operacija Python modulo uporablja za pridobitev preostanka deljenja. Modulo operator ( % ) velja za aritmetično operacijo, skupaj z + , , / , * , ** , // . V večini jezikov morata biti oba operanda tega modulo operatorja celo število. Toda Python Modulo je v tem primeru vsestranski. Operandi so lahko bodisi cela števila oz plovci .

Sintaksa:

a % b 

Tukaj je a deljeno z b in preostanek tega deljenja je vrnjen.

Modulo operator s celim številom

Shrani ostanek, dobljen pri deljenju a z b, v c

Python3




# inputs> a> => 13> b> => 5> c> => a> %> b> print> (a,> 'mod'> , b,> '='> ,> > c, sep> => ' '> )>

Izhod:

13 mod 5 = 3 

Modulo Operator Z float z negativnim številom.

Shrani ostanek, dobljen pri deljenju d z e, v f. Za več primerov glejte Kako izvesti modulo z negativnimi vrednostmi v Pythonu.

Python3




# inputs> d> => 15.0> e> => -> 7.0> f> => d> %> e> print> (d,> 'mod'> , e,> '='> ,> > f, sep> => ' '> )>

Izhod:

15.0 mod -7.0 = -6.0 

Primer uporabe operaterja Modulo

Recimo, da želimo izračunati ostanek vsakega števila od 1 do n, če ga delimo s fiksnim številom 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)>

Izhod:

1 mod 3 = 1 2 mod 3 = 2 3 mod 3 = 0 4 mod 3 = 1 5 mod 3 = 2 

ZeroDivisionError v Pythonu

Edina izjema, ki jo dobite pri operaciji Python modulo, je ZeroDivisionError . To se zgodi, če operand delilnika modulo operatorja postane nič . To pomeni, da desni operand ne more biti nič . Oglejmo si naslednjo kodo, da izvemo več o tej izjemi 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.'> )>

Izhod:

Cannot divide by zero! Change the value of the right operand.