Ccmmutty logo
Commutty IT
2 min read

Python組み込み関数〜divmod~ 割り算の商と余りを同時に取得しよう

https://cdn.magicode.io/media/notebox/blob_8RGiyPW
#はじめに 今回の記事では、Pythonの「divmod関数」について取り上げます。 「divmod関数」は、割り算した時の商と余りを一気に取得できる便利なものです。 「divmod」関数を使えるようになって、Pythonの知識を深めていきましょう。
#通常の割り算での商と余り Pythonで通常の割り算では、商を求めるときは「/」、余りを求めるときは「%」を使用します。
#商
12 / 4
>>>3.0
#商
12 / 5
>>>2.4
#小数点を切り捨て
12 // 5
>>>2
#余り
12 % 4
>>> 0
#余り
12 % 5
>>> 2
#divmod関数 では早速「divmod関数」を使用していきます。 まずはコードを見て確認していきましょう。
quotient, remainder = divmod(12, 5)
print(quotient)   #2
print(remainder)  #2
見てわかるように、変数を2つ用意し、1つ目の変数には商が、2つ目の変数には余りが入ります そしてポイントとなるのが、1つ目の変数には、「小数点を切り捨てにした状態の商」が入ります。 つまり、「//」を使用した時と同じということです。
次に変数1つで受け取るとどのようになるのか確認しましょう。
tuple = divmod(12, 5)
print(tuple)   #(2, 2)
このようにタプルとして受け取れます。 取り出したいときは、
print(tuple[0], tuple[1])
#2 2
とすれば取り出せます。 #比較 最後に普通に商と余りを出すときと、「divmod関数」を使った時とを比較してみましょう。
#普通
quotient = 12 / 5
remainder = 12 % 5
print(quotient)   #2.4
print(remainder)  #2
#divmod関数
quotient, remainder = divmod(12 / 5)
print(quotient)   #2
print(remainder)  #2
たった1行ですが短くなっているのがわかります。 たった1行でも短くなるなら使わない手はないので、積極的に使っていきましょう。
#最後に 今回の記事では、Pythonの「divmod関数」について取り上げました。 今後も役立つモジュールや組み込み関数なども記事にしていくので、よかったらみて行ってください。

Discussion

コメントにはログインが必要です。