LoginSignup
5
1

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-09-08

はじめに

今回の記事では、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関数」について取り上げました。
今後も役立つモジュールや組み込み関数なども記事にしていくので、よかったらみて行ってください。

5
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1