Python で分数を減らす
Python には、有理数を使った算術演算の機能があります。 文字列、数値、小数、浮動小数点数、および整数から分数インスタンスを作成できます。
整数のペア、別の有理数、テキスト、または分数をすべて使用して、分数インスタンスを作成できます。 小数インスタンスはハッシュできるため、不変と見なす必要があります。
パイソン分数
Python Fraction
モジュールは、有理数を使った算術演算を提供します。 このモジュールの助けを借りて、文字列やその他の数値変数 (整数、浮動小数点、小数など) を分数に変換できます。
分数インスタンスのアイデアが存在します。 これは、分子と分母として機能する 2つの数値で構成されます。
間違いなく、Fraction
モジュールは、Python 標準ライブラリの中で最も使用されていない部分の 1つです。 広く認識されていないかもしれませんが、2 進浮動小数点演算の問題を解決するのに役立つため、便利なツールです。
財務データを操作する場合、または計算で無限の精度が必要な場合、これは非常に重要です。
Python で分数を作成する
Python で分数を作成するには、fractions
ライブラリから Fraction
モジュールをインポートする必要があります。
分数は、小数値 0.5
を 1/2
に変更します。 同様に、(21, 60)
は 7/20
に変わり、最後の分数 (0, 10)
は分子が 0 であるため、0
出力を与えます。
コード例:
from fractions import Fraction
print(Fraction(0.5))
print(Fraction(21, 60))
print(Fraction(0, 10))
出力:
1/2
7/20
0
Python で分数を減らす
次の例では、簡単な手順で分数を減らしました。
まず、関数 GCD
(最大公約数) を定義し、2つの整数 n と m を宣言しました。 次に、d
(分母) を m
と n
の最小値に設定します。
while
ループを使用して、最大公約数を見つけます。 次に、被約分数の分子と分母を返す別の関数 reduce()
を定義しました。
num
(分数の分子) はゼロ以外の整数でなければなりません。 num が 0 の場合、簡約分数は 0 です。 それ以外の場合は、関数を呼び出して最大公約数を見つけます。
num
と den
を GCD で割って結果を計算します。
コード例:
def GCD(n, m):
d = min(n, m)
while n % d != 0 or m % d != 0:
d = d - 1
return d
def reduce(num, den):
if num == 0:
return (0, 1)
G = GCD(num, den)
return (num // G, den // G)
num = 3
den = 27
(n, d) = reduce(num, den)
print("The fraction", num, "/", den, "is reduced to", n, "/", d)
出力:
The fraction 3 / 27 is reduced to 1 / 9
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn