Modulusoperatoren (%) i Python

Når vi ser en '%' er det første vi tenker på, prosenten, men på dataspråk betyr det modulo drift (%) som returnerer resten av å dele venstre operand med høyre operand eller i lekmannstermer finner den rest eller signert resten etter deling av ett tall med et annet.

Gitt to positive tall, a og n, en modulo n (a % n, forkortet til a imot n) er resten av Euklidisk inndeling av a med n, der a er utbyttet og n er deleren.

Python Modulo-operatøren

I utgangspunktet brukes Python modulo-operasjonen for å få resten av en divisjon. Modulo-operatoren( % ) regnes som en aritmetisk operasjon, sammen med + , , / , * , ** , // . På de fleste språk må begge operandene til denne modulo-operatoren være et heltall. Men Python Modulo er allsidig i dette tilfellet. Operandene kan være enten heltall eller flyter .

Syntaks:

a % b 

Her deles a på b, og resten av denne divisjonen returneres.

Modulo-operatør med heltall

Lagrer resten oppnådd ved å dele a på b, i c

Python3




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

Produksjon:

13 mod 5 = 3 

Modulo Operator Med flottør med negativt tall.

Lagrer resten oppnådd ved å dele d på e, i f. For flere eksempler, se Hvordan utføre Modulo med negative verdier i Python.

Python3




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

Produksjon:

15.0 mod -7.0 = -6.0 

Eksempel ved bruk av Modulo Operator

Anta at vi ønsker å beregne resten av hvert tall fra 1 til n når det divideres med et fast tall 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)>

Produksjon:

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

ZeroDivisionError i Python

Det eneste unntaket du får med Python modulo-operasjonen er ZeroDivisionError . Dette skjer hvis deleoperanden til modulo-operatoren blir null . Det betyr at høyre operand kan ikke være null . La oss se følgende kode for å vite om dette Python-unntaket.

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.'> )>

Produksjon:

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