logo

Modulový operátor (%) v Pythonu

Když vidíme „%“, první věc, která nás napadne, je procento, ale v počítačovém jazyce to znamená modulo provoz (%), která vrátí zbytek dělení levého operandu pravým operandem nebo laicky řečeno najde zbytek nebo podepsaný zbytek po rozdělení jednoho čísla druhým.

Jsou-li dána dvě kladná čísla a a n, modulo n (a % n, zkráceně proti n) je zbytek Euklidovské dělení z a x n, kde a je dělenec a n je dělitel.

Operátor modulu Python

V zásadě se k získání zbytku dělení používá operace modulo Python. Operátor modulo( % ) se považuje za aritmetickou operaci spolu s + , , / , * , ** , // . Ve většině jazyků musí být oba operandy tohoto operátoru modulo celé číslo. Ale Python Modulo je v tomto případě všestranný. Operandy mohou být buď celá čísla nebo plave .



Syntax:

a % b>

Zde je a děleno b a je vrácen zbytek tohoto dělení.

Modulo operátor s celým číslem

Uloží zbytek získaný při dělení a b, v c

Python3




vypnutí režimu vývojáře

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

>

>

Výstup:

uzel seznamu java
13 mod 5 = 3>

Operátor Modulo S plovákem se záporným číslem.

Uloží zbytek získaný dělením d e, do f. Další příklady najdete v tématu Jak provádět modulo se zápornými hodnotami v Pythonu.

Python3




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

>

>

Výstup:

15.0 mod -7.0 = -6.0>

Příklad použití modulu Modulo Operator

Předpokládejme, že chceme vypočítat zbytek každého čísla od 1 do n, když je děleno pevným číslem k.

cpld vs FPGA

Python3




rozdíl tygra a lva
# 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)>

>

>

Výstup:

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

ZeroDivisionError v Pythonu

Jediná výjimka, kterou získáte s operací Python modulo, je ZeroDivisionError . K tomu dojde, pokud se stane dělicí operand operátoru modulo nula . To znamená, pravý operand nemůže být nula . Podívejme se na následující kód, abychom věděli o této výjimce Pythonu.

Python3




10 ze 40
# 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ýstup:

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