У меня есть этот код:
class Fraction:
def __init__(self, top, bottom):
self.num = top
self.den = bottom
self = self.to_lowest_form()
def to_lowest_form(self):
from math import gcd
d = 0
while d != 1:
d = gcd(self.num, self.den)
self.num //= d
self.den //= d
return Fraction(self.num, self.den)
def __add__(self, other):
pass
Как показывает приведенный выше код, мне нужно получить дробь , а затем положить ее в наименьшую форму после инициализации. (Я получаю RecursionError , и я знаю, почему).
Поэтому мой вопрос состоит в том, как я могу преобразовать недавно созданную дробь в ее наименьший срок (чтобы избежать вызов instance.lowest_form () в каждом методе)?