logo

Modulový operátor (%) v Pythone

Keď vidíme „%“, prvá vec, ktorá nás napadne, je percento, ale v počítačovom jazyku to znamená modulo prevádzka (%), ktorý vráti zvyšok delenia ľavého operandu pravým operandom alebo laicky povedané nájde zvyšok alebo podpísaný zvyšok po rozdelení jedného čísla druhým.

Dané dve kladné čísla a a n, modulo n (a % n, skrátene proti n) je zvyšok Euklidovské delenie z a x n, kde a je dividenda a n je deliteľ.

Operátor modulu Python

V podstate sa na získanie zvyšku delenia používa operácia Python modulo. Operátor modulo( % ) sa považuje za aritmetickú operáciu spolu s + , , / , * , ** , // . Vo väčšine jazykov musia byť oba operandy tohto modulo operátora celé číslo. Ale Python Modulo je v tomto prípade všestranný. Operandy môžu byť buď celé čísla alebo pláva .



Syntax:

a % b>

Tu sa a delí b a vráti sa zvyšok tohto delenia.

Modulo operátor s celým číslom

Uloží zvyšok získaný delením a číslom b v c

Python3




java ako previesť reťazec na int

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

>

>

Výkon:

previesť int na dvojitú javu
13 mod 5 = 3>

Modulo operátor S plavákom so záporným číslom.

Uloží zvyšok získaný delením d číslom e do f. Ďalšie príklady nájdete v časti Ako vykonávať modulo so zápornými hodnotami v Pythone.

Python3




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

java hodnota reťazca

>

>

Výkon:

15.0 mod -7.0 = -6.0>

Príklad s použitím operátora Modulo

Predpokladajme, že chceme vypočítať zvyšok každého čísla od 1 do n pri delení pevným číslom 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)>

nastaviť oddeľovač java

>

>

Výkon:

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

ZeroDivisionError v Pythone

Jediná výnimka, ktorú získate s operáciou Python modulo, je ZeroDivisionError . Toto sa stane, ak sa stane deliaci operand operátora modulo nula . To znamená, pravý operand nemôže byť nula . Pozrime sa na nasledujúci kód, aby sme vedeli o tejto výnimke Pythonu.

Python3


queryselector



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

>

>

Výkon:

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