Python のモジュラス演算子 (%)

「%」を見たとき、最初に頭に浮かぶのはパーセントですが、コンピュータ言語では、これは次のことを意味します モジュロ演算 (%) は、左側のオペランドを右側のオペランドで割った余りを返します。平たく言えば、 残り または 符号付き剰余 ある数値を別の数値で除算した後。

2 つの正の数 a と n が与えられると、法 n (a % n、a と省略されます) に対して n) の残りです。 ユークリッド除算 a × n の計算。ここで、a は被除数、n は除数です。

Python モジュロ演算子

基本的に、Python のモジュロ演算は、除算の余りを取得するために使用されます。モジュロ演算子( % ) は算術演算とみなされ、 + / * ** // 。ほとんどの言語では、このモジュロ演算子の両方のオペランドは整数である必要があります。ただし、Python Modulo はこの場合に多用途です。オペランドは次のいずれかになります 整数 または 浮きます

構文:

a % b 

ここでは、a を b で除算し、その除算の余りを返します。

整数のモジュロ演算子

aをbで割った余りをcに格納します

Python3




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

出力:

13 mod 5 = 3 

モジュロ演算子 負の数の float を使用します。

dをeで割った余りをfに格納します。その他の例については、「Python で負の値を使用してモジュロを実行する方法」を参照してください。

Python3




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

出力:

15.0 mod -7.0 = -6.0 

モジュロ演算子の使用例

1 から n までのすべての数値を固定数 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)>

出力:

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

Python の ZeroDivisionError

Python のモジュロ演算で発生する唯一の例外は次のとおりです。 ゼロディビジョンエラー 。これは、モジュロ演算子の除算オペランドが次の場合に発生します。 ゼロ 。つまり、 右オペランドをゼロにすることはできません 。この 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.'> )>

出力:

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