Moduloperatorn (%) i Python
När vi ser en '%' är det första vi tänker på procenten, men på datorspråk betyder det modulo drift (%) som returnerar resten av att dividera vänsteroperanden med högeroperand eller i lekmannatermer finner den återstoden eller undertecknad rest efter divisionen av ett tal med ett annat.
Givet två positiva tal, a och n, en modulo n (a % n, förkortad som a mot n) är resten av euklidisk division av a med n, där a är utdelningen och n är divisor.
Python Modulo Operator
I grund och botten används Python modulo-operationen för att få resten av en division. Modulo-operatorn( % ) anses vara en aritmetisk operation, tillsammans med + , – , / , * , ** , // . På de flesta språk måste båda operanderna för denna modulooperator vara ett heltal. Men Python Modulo är mångsidig i det här fallet. Operanderna kan vara antingen heltal eller flyter .
Syntax:
a % b
Här divideras a med b, och resten av den divisionen returneras.
Modulo-operatör med heltal
Lagrar resten som erhålls när a divideras med b, i c
Python3
# inputs> a> => 13> b> => 5> c> => a> %> b> print> (a,> 'mod'> , b,> '='> ,> > c, sep> => ' '> )> |
Produktion:
13 mod 5 = 3
Modulo Operator Med flottör med negativt tal.
Lagrar resten som erhålls när du dividerar d med e, i f. För fler exempel, se Hur man utför Modulo med negativa värden i Python.
Python3
# inputs> d> => 15.0> e> => -> 7.0> f> => d> %> e> print> (d,> 'mod'> , e,> '='> ,> > f, sep> => ' '> )> |
Produktion:
15.0 mod -7.0 = -6.0
Exempel med Modulo Operator
Antag att vi vill beräkna resten av varje tal från 1 till n när de divideras med ett fast tal 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)> |
Produktion:
1 mod 3 = 1 2 mod 3 = 2 3 mod 3 = 0 4 mod 3 = 1 5 mod 3 = 2
ZeroDivisionError i Python
Det enda undantaget du får med Python modulo-operationen är ZeroDivisionError . Detta händer om delaroperanden för modulo-operatorn blir noll . Det betyder högeroperand kan inte vara noll . Låt oss se följande kod för att veta om detta Python-undantag.
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.'> )> |
Produktion:
Cannot divide by zero! Change the value of the right operand.