分数の四則演算をするプログラムを書いています。計算自体はできたのですが、約分ができていません。
1.分母と分子を比べて数が小さい方を割る数にする
2.その割る数で分母と分子の両方を割る
3.どちらかが割り切れなければ割る数を-1して2に戻る
といった約分の手順を考えたのですが、それがうまく反映されるコードが書けません
どうすればこれらを反映して約分ができるようになるでしょうか?
python
1def main(): 2 f1 = Fraction(9,8) 3 f2 = Fraction(2,3) 4 result = Fraction() 5 print("デフォルトの分数は", end = "") 6 result.print() 7 print() 8 9 f1.print() 10 print(" と ", end = "") 11 f2.print() 12 print(" の分数の積は ", end = "") 13 result = f1.multipliedBy(f2) 14 result.print() 15 print() 16class Fraction: 17 def __init__(self, num = 0, den = 1): 18 self.num = num 19 self.den = den 20 def __str__(self): 21 return str(self.num) + "/" + str(self.den) 22 def print(self): 23 print(self.num, "/", self.den, end="") 24 def multipliedBy(self, other): 25 new_num = self.num * other.num 26 new_den = self.den * other.den 27 #ここから約分 28 29 return Fraction(new_num, new_den) 30main() 31 32 33デフォルトの分数は0 / 1 349 / 8 と 2 / 3 の分数の積は 18 / 24
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/31 15:44
2021/07/31 16:44
2021/08/01 01:30