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