logo

Python モジュラス演算子

他のプログラミング言語と同様に、Python の剰余演算子も同じ作業を実行して、指定された数値の剰余を見つけます。演算子は、指定された 2 つの数値に対して (+、-、​​ /) 加算、減算、乗算、除算などのさまざまな演算を実行して、結果を整数および浮動小数点数の形式で返すために使用される数学記号です。 。演算子は、指定された数値に渡された演算子記号に基づいて特定のアクションを実行するようにコンパイラーに指示します。

Python モジュラス演算子

モジュラス演算子

パイソン モジュラス演算子は、最初の数値を 2 番目の数値で割って残りの数値を返す組み込みの演算子です。としても知られています Pythonモジュール 。 Python では、係数記号はパーセンテージ ( % ) の記号。したがって、それは剰余演算子と呼ばれます。

構文

以下は、Python 言語でモジュラス演算子を表す構文です。最初の数値を 2 番目の数値で割ったときの余りを求めるために使用されます。

 Rem = X % Y 

ここで、X と Y は 2 つの整数値であり、最初の数値 (X) を 2 番目の数値 (Y) で割った余りを求めるために、間に係数 (%) が使用されます。

たとえば、24 と 5 という 2 つの数値があります。そして、数値 24 % 5 の間でモジュラスまたはモジュロ演算子を使用して剰余を取得できます。ここで、24 を 5 で割ると、剰余として 4 が返され、商として 4 が返されます。 。最初の数値が余りを残さずに別の数値で完全に割り切れる場合、結果は 0 になります。たとえば、20 と 5 という 2 つの数値があります。そして、数値 20 の間のモジュラスまたはモジュロ演算子を使用して余りを取得できます。 % 5. ここで、20 を 5 で割ると、剰余として 0、商として 4 が返されます。

while ループを使用して 2 つの整数の係数を取得します

Python で while ループとモジュラス (%) 演算子を使用して 2 つの数値の余りを取得するプログラムを作成してみましょう。

Get_rem.py

 # Here, we are writing a Python program to calculate the remainder from the given numbers while True: # here, if the while condition is true then if block will be executed a = input ('Do you want to continue or not (Y / N)? ') if a.upper() != 'Y': # here, If the user pass 'Y', the following statement is executed. break a = int(input (' First number is: ')) # here, we are taking the input for first number b = int(input (' Second number is: ')) # Here, we are taking the input for second number print('The result after performing modulus operator is: ', a, ' % ', b, ' = ', a % b) # Here, we are performing the modulus a % b print('The result after performing modulus operator is:', b, ' % ', a, ' = ', b % a) # Here, we are performing the modulus b % a 

出力:

 Do you want to continue or not (Y / N)? Y First number is: 37 Second number is: 5 The result after performing modulus operator is: 37 % 5 = 2 The result after performing modulus operator is: 5 % 37 = 5 Do you want to continue or not (Y / N)? Y First number is: 37 Second number is: 5 The result after performing modulus operator is: 24 % 5 = 4 The result after performing modulus operator is: 5 % 24 = 5 Do you want to continue or not (Y / N)? Y First number is: 37 Second number is: 5 The result after performing modulus operator is: 28 % 5 = 3 The result after performing modulus operator is: 5 % 28 = 5 

説明:

  • while True: 無限ループが作成されます。ループ内のコードは、ループが明示的に中断されるまで実行され続けます。
  • a = input('続行しますか? (Y / N)? '): ユーザーは、プログラムを続行するか終了するかを決定するために「Y」または「N」を入力するように求められます。
  • if a.upper() != 'Y': Break: ユーザーが 'Y' (大文字と小文字を区別しない) 以外の値を入力すると、ループが終了し、プログラムが終了します。
  • a = int(input('最初の番号は: ')) および b = int(input('2 番目の番号は ')): ユーザーは 2 つの整数を入力するように求められます。
  • print('モジュラス演算子を実行した後の結果は次のとおりです: ', a, ' % ', b, ' = ', a % b): の最初のペアに対するモジュラス演算の結果 (a % b) を計算して出力します。数字が入力されました。
  • print('モジュラス演算子を実行した後の結果は次のとおりです:', b, ' % ', a, ' = ', b % a): の 2 番目のペアのモジュラス演算 (b % a) の結果を計算して出力します。数字が入力されました。
  • プログラムは、(Y/N) のような入力を行うことで、ユーザーの天気を継続したいか、プログラムを停止したいかを尋ねます。ここで、Y はプログラムを継続するための入力で、「N」はプログラムを停止するために使用されます。 。

2 つの浮動小数点数の係数を取得します

Python でモジュラス演算子を使用して 2 つの浮動小数点数の余りを求めるプログラムを作成してみましょう。

Mod.py

 x = float(input ('First number: ')) # Here, we are taking the input of a float variable for the first number y = float(input (' Second number: ')) # Here, we are taking the input of a float variable for the second number res = x % y # Here, we are storing the remainder in a new res variable print('Modulus of two float number is: ', x, '%', y, ' = ', res, sep = ' ') 

出力:

学校を作ったのは誰ですか
First number: 40.5 Second number: 20.5 Modulus of two float number is: 40.5 % 20.5 = 20.0 

説明:

  • x = float(input('最初の数値: ')): クライアントは主変数に浮動小数点数を入力するように指示され、情報は変数 x に保管されます。
  • y = float(input('2 番目の数値: ')): クライアントは後続の変数に float 数値を入力するように指示され、その情報は変数 y に保管されます。
  • res = x % y: モジュラス アクティビティは x と y に対して実行され、結果は変数 res に格納されます。
  • print('2 つの浮動小数点数の係数は: ', x, '%', y, ' = ', res, sep=' '): 係数アクティビティの結果は、品質をスペースで分離して、適切な配置で出力されます ( sep=' ')。

負の数の係数を取得します

Python で while ループとモジュラス (%) 演算子を使用して、2 つの負の数の余りを取得するプログラムを作成してみましょう。

Mod.py

 while True: x = input(' Do you want to continue (Y / N)? ') if x.upper() != 'Y': break # Here, we are taking input two integer number and store it into x and y x = int(input (' First number: ')) # Here, we are taking the input for the first number y = int(input (' Second number: ')) # Here, we are taking the input for the second number print('Modulus of negative number is: ', x, '%', y, ' = ', x % y, sep = ' ') print('Modulus of negative number is: ', y, '%', x, ' = ', y % x, sep = ' ') 

出力:

First number: -10 Second number: 3 Modulus of negative number is: -10 % 3 = 2 Modulus of negative number is: 3 % -10 = -7 Do you want to continue (Y / N)? N 

説明:

タイプスクリプトごとに
  • while True: 無限の円を作成します。円内のコードは、クライアントが刺激されたときに「Y」とは別のオプションを入力して終了することを選択するまで実行され続けます。
  • x = input('続行する必要がありますか (Y/N)? '): クライアントは、プログラムを続行するか終了するかを選択するために「Y」または「N」を入力するように促されます。
  • if x.upper() != 'Y': Break: クライアントが 'Y' (大文字と小文字を区別しない) 以外の値を入力したと仮定すると、円は残され、プログラムは終了します。
  • x = int(input('最初の数値: ')) および y = int(input('2 番目の数値: ')): クライアントは 2 つの整数を入力するよう促されます。
  • print('負の数値の係数は: ', x, '%', y, ' = ', x % y, sep=' '): 係数アクティビティ (x % y) の残効を計算して出力します。入力された数値の主なセット。
  • print('負の数値の係数は: ', y, '%', x, ' = ', y % x, sep=' '): 係数アクティビティ (y % x) の残効を確認して出力します。 2 番目の数値セットが入力されました。

fmod() 関数を使用して 2 つの数値の法を取得します。

Python の fmod() 関数を使用して、2 つの浮動小数点数の余りを取得するプログラムを書いてみましょう。

Fmod.py

 import math # here, we are importing the math package to use fmod() function. res = math.fmod(25.5, 5.5) # here, we are passing the parameters print ('Modulus using fmod() is:', res) ft = math.fmod(75.5, 15.5) print (' Modulus using fmod() is:', ft) # Here, we are taking two integers from the user x = int( input( 'First number is')) # Here, we are taking the input for the first number y = int (input ('Second number is ')) # Here, we are taking the input for the second number out = math.fmod(x, y) # here, we are passing the parameters print('Modulus of two numbers using fmod() function is', x, ' % ', y, ' = ', out) 

出力:

Modulus using fmod() is: 3.5 Modulus using fmod() is: 13.5 First number is 24 Second number is 5 Modulus of two numbers using fmod() function is 24 % 5 = 4.0 

説明:

  • import math: この行は、fmod() などの数値機能を提供する数値モジュールをインポートします。
  • res = math.fmod(25.5, 5.5): math.fmod() 機能は、2 つのドリフト点番号 (この状況では 25.5 と 5.5) の係数を計算するために利用され、結果は変数 res に格納されます。
  • print('fmod() を利用した係数は:', res): この行は、math.fmod() を利用して決定された係数アクティビティの余効を出力します。
  • ft = math.fmod(75.5, 15.5): 主モデルと同様に、2 つのドリフト点番号 (75.5 と 15.5) の係数を確認し、結果を変数 ft に保存します。
  • print('fmod() を利用したモジュラスは:', ft): この行は 2 番目のモジュラス アクティビティの結果を出力します。
  • x = int(input('最初の番号は ')) および y = int(input('2 番目の番号は ')): クライアントは 2 つの整数を入力するよう促され、その後完全に数字に変換されて保管されます。因数 x と y で。
  • out = math.fmod(x, y): math.fmod() 機能を再度利用して、クライアントが入力した 2 つの数値の係数を計算し、結果は変数 out に格納されます。
  • print('fmod() 機能を利用した 2 つの数値の係数は', x, ' % ', y, ' = ', out): この行は、入力されたクライアントの math.fmod() を利用して決定された係数アクティビティの余効を出力します。整数。

関数を使用して n 個の数値の法を取得する

関数と for ループを使用して n 番目の数値の法を求める Python プログラムを作成してみましょう。

getRemainder.py

 def getRemainder(n, k): # here, we are creating a function for i in range(1, n + 1): # here, we are declaring a for loop # Here, we are storing remainder in the rem variable when i is divided by k number rem = i % k print(i, ' % ', k, ' = ', rem, sep = ' ') # Here, the code for use _name_ driver if __name__ == '__main__': # Here, we define the first number for displaying the number up to desired number. n = int(input ('Define a number till that you want to display the remainder ')) k = int( input (' Enter the second number ')) # here, we are defining the divisor # Here, we are calling the define function getRemainder(n, k) 

出力:

Define a number till that you want to display the remainder 7 Enter the second number 5 1 % 5 = 1 2 % 5 = 2 3 % 5 = 3 4 % 5 = 4 5 % 5 = 0 6 % 5 = 1 7 % 5 = 2 

説明:

  • def getRemainder(n, k): この行は、2 つの境界 (n と k) を取る getRemainder という名前の機能を特徴付けます。
  • for I in range(1, n + 1):: この行は、1 から n まで (包括的) を強調する for 円で始まります。
  • rem = I % k: 円の内側で、I を k で割った残りを求め、変数 rem に格納します。
  • print(i, ' % ', k, ' = ', rem, sep=' '): この行は、すべての強調に対するモジュラス アクティビティの結果を出力し、I の値、約数 k、および決定された残りの部分を示します。 。
  • if __name__ == '__main__':: この行は、コンテンツがプライマリ プログラムとして実行されているかどうかを確認します。
  • n = int(input('残りを表示する必要があるまで数値を定義し、k = int(input('次の数値を入力してください ')): クライアントは 2 つの整数 n と k を入力するよう求められます。
  • getRemainder(n, k): getRemainder 機能は、クライアントが n と k に値を指定して呼び出されます。この機能は、円の各サイクルの残りを計算して出力します。

mod()関数を使用して指定された配列の係数を取得します

Python で mod() 関数をデモするプログラムを書いてみましょう。

Mod_fun.py

例外処理Java
 import numpy as np # here, we are importing the numpy package x = np.array([40, -25, 28, 35]) # here, we are define the first array y = np.array([20, 4, 6, 8]) # here, we are define the second array # Here, we are calling the mod() function and pass x and y as the parameter print('The modulus of the given array is ', np.mod (x, y)) 

出力:

The modulus of the given array is [0 3 4 3] 

説明:

  • import numpy as np: この行は、NumPy ライブラリをインポートし、それにモニカ np を割り当てます。 NumPy は Python の数学的タスクのための強力なライブラリであり、効果的な展示タスクを提供します。
  • x = np.array([40, - 25, 28, 35]): 所定の品質を持つ x という名前の NumPy クラスターを作成します。
  • y = np.array([20, 4, 6, 8]): 所定の品質を持つ y という名前の別の NumPy クラスターを作成します。
  • print('指定されたクラスターの係数は ', np.mod(x, y)): NumPy mod() 機能を呼び出します。これは、展示品 x と y のコンポーネントを比較する際にコンポーネントごとの係数手順を実行します。結果は print() を使用して出力されます。

numpy を使用して 2 つの数値の法を取得します。

をインポートするプログラムを考えてみましょう。 しびれる Python ライブラリからパッケージを取得し、剰余関数を使用して Python で係数を取得します。

Num.py

 import numpy as np # here, we are importing the numpy package as np # Here, we are giving the declaration of the variables with their values num = 38 # here, we are initializing the num variable num2 = 8 # here, we are initializing the num2 variable res = np.remainder(num, num2) # here, we are using the np.remainder() function print('Modulus is', num, ' % ', num2, ' = ', res) # Here, we are displaying the modulus num % num2 

出力:

Modulus is 38 % 8 = 6 

説明:

  • import numpy as np: この行は、NumPy ライブラリをインポートし、それにモニカ np を割り当てます。
  • num = 38: 値 38 の変数 num を導入します。
  • num2 = 8: 値 8 を持つ変数 num2 を初期化します。
  • res = np.remainder(num, num2): NumPy leftoverpartion() 機能を呼び出し、num の残りが num2 で区切られていることを確認します。結果は変数 res に格納されます。
  • print('Modulus is', num, ' % ', num2, ' = ', res): print() を使用してモジュラス アクティビティのアフターエフェクトを出力します。 num、num2、および決定された残りの部分 (res) の上側を示します。

Python モジュラス演算子の例外

Python では、数値をゼロで割ると例外がスローされ、その例外は ゼロディビジョンエラー 。つまり、数値がゼロの約数で割り切れる場合に例外を返します。したがって、Python モジュラス演算子から例外を削除したい場合、除数はゼロであってはなりません。

Modulus 演算子の Python 例外を示すプログラムを作成してみましょう。

.py を除く

 x = int(input (' The first number is: ')) # Here, we are taking the input for the first number y = int(input (' The second number is: ')) # Here, we are taking the input for the second number # Here, we are displaying the exception handling try: # here, we are defining the try block print (x, ' % ', y, ' = ', x % y) except ZeroDivisionError as err: # here, we are defining the exception block print ('Cannot divide a number by zero! ' + 'So, change the value of the right operand.') 

出力:

The first number is: 24 The second number is: 0 

数値をゼロで割ることはできません!したがって、右側のオペランドの値を変更します。

上記の結果から分かるように、「数値をゼロで割ることはできません!」と表示されます。したがって、右側のオペランドの値を変更してください。したがって、最初の数値をゼロで除算すると、例外が返されると言えます。

説明:

  • x = int(input('最初の数値は: ')) および y = int(input('2 番目の数値は: ')): クライアントは 2 つの整数を入力するよう求められ、その後完全に次のように変更されます。整数を因数 x と y に入れます。
  • 試行:: これは、免除を引き起こす可能性のあるコードが設定されている試行ブロックを開始します。
  • print(x, ' % ', y, ' = ', x % y): 試行ブロック内で、コードはモジュラス アクティビティ (x % y) の結果を確認して出力しようとします。
  • blunder:: としての ZeroDivisionError は例外です。ZeroDivisionError が発生した場合 (つまり、クライアントが後続の数値として 0 を入力したと仮定した場合)、aside from ブロック内のコードが実行されます。
  • print('数値を何も分割することはできません! ' + 'したがって、右側のオペランドの値を変更します。'): この行は、ゼロによる除算が許可されていないことを示し、右側のオペランドの値を変更することを提案する間違いメッセージを出力します。 。