Operatorul de modul (%) în Python
Când vedem un „%”, primul lucru care ne vine în minte este procentul, dar în limbajul computerului, înseamnă operație modulo (%) care returnează restul împărțirii operandului din stânga la operand din dreapta sau, în termeni profani, găsește rest sau restul semnat după împărțirea unui număr cu altul.
Având în vedere două numere pozitive, a și n, un modulo n (a % n, prescurtat ca a împotriva n) este restul Diviziune euclidiană a lui n, unde a este dividendul și n este divizorul.
Operatorul Python Modulo
Practic, operația modulo Python este folosită pentru a obține restul unei diviziuni. Operatorul modulo( % ) este considerată o operație aritmetică, împreună cu + , – , / , * , ** , // . În majoritatea limbilor, ambii operanzi ai acestui operator modulo trebuie să fie un număr întreg. Dar Python Modulo este versatil în acest caz. Operanzii pot fi fie numere întregi sau plutește .
Sintaxă:
a % b
Aici, a este împărțit la b, iar restul acelei diviziuni este returnat.
Operator Modul cu Integer
Stochează restul obținut la împărțirea a la b, în c
Python3
# inputs> a> => 13> b> => 5> c> => a> %> b> print> (a,> 'mod'> , b,> '='> ,> > c, sep> => ' '> )> |
Ieșire:
13 mod 5 = 3
Modulo Operator Cu float cu un număr negativ.
Stochează restul obținut la împărțirea d la e, în f. Pentru mai multe exemple, consultați Cum să efectuați Modulo cu valori negative în Python.
Python3
# inputs> d> => 15.0> e> => -> 7.0> f> => d> %> e> print> (d,> 'mod'> , e,> '='> ,> > f, sep> => ' '> )> |
Ieșire:
15.0 mod -7.0 = -6.0
Exemplu de utilizare a operatorului Modulo
Să presupunem că dorim să calculăm restul fiecărui număr de la 1 la n atunci când este împărțit la un număr fix 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)> |
Ieșire:
1 mod 3 = 1 2 mod 3 = 2 3 mod 3 = 0 4 mod 3 = 1 5 mod 3 = 2
ZeroDivisionError în Python
Singura excepție pe care o obțineți cu operația modulo Python este ZeroDivisionError . Acest lucru se întâmplă dacă operandul divizor al operatorului modulo devine zero . Asta înseamnă operandul drept nu poate fi zero . Să vedem următorul cod pentru a ști despre această excepție 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.'> )> |
Ieșire:
Cannot divide by zero! Change the value of the right operand.