Python | 2つの値から歩合(割分厘)を割り出す方法

Python 数値・計算,Python

Python | 2つの値から歩合(割分厘)を割り出す方法

Pythonのメソッドを使って2つの値から割、分、厘からなる歩合を取得する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

2つの値から歩合(割分厘)を割り出す

Pythonで 2つの値から歩合(割分厘)を取得するには、除算を行った後で、それぞれの桁にある数値を取得する事で実装可能です。

先に歩合(割分厘)と除算後の数値の桁の位置、パーセントとの比較をしておきます。

歩合の表記パーセント
1割0.110%
1分0.011%
1里0.0010.1%
1毛0.00010.01%
歩合の表記と桁、パーセント

サンプルコードでは以下の手順で2つの値から歩合(割分厘)を取得しています。

  1. 2つの数値を持つ変数は「a」と「b」とする
  2. 割分厘、それぞれを格納する変数は「wari」「bu」「ri」とする
  3. 2つの数値を除算した結果を、それぞれの桁が整数の1桁になるように乗算する
  4. 乗算した数値を10で割った余りを求める
  5. int()で小数点を切り捨て整数にして、割分厘それぞれの変数に入れる

以下のサンプルコードでは「200」に対して「60」の歩合を求めています。
パーセントにした場合は「32.5%」となる事から、歩合の場合は「33割2分5里」となる事で一致しています。

a = 200
b = 65

wari = int(b / a * 10)
bu = int(b / a * 100 % 10)
ri = int(b / a * 1000 % 10)

print(f'{wari}割{bu}分{ri}里')
# 3割2分5里

10で割った余りを計算するのは、例えば「分」の場合は「b / a * 100」「32.5」になりますが、これを10で割ると「3」と余りが「2.5」となります。
この余りの「2.5」int()関数で小数点をなくして整数のみにした数値が「分」の値である「2」となる計算です。
これは「32.5」から「2」だけを取り出すためにそうします。