我有此代码:
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
如上面的代码所示,我需要获取一个fraction,然后在初始化后将其置于最低形式。(我得到一个RecursionError,我知道为什么)。
所以我的问题是如何将新创建的fraction转换为其最低期限(以避免在每种方法中调用instance.lowest_form()?)>
我有此代码:类分数:def __init __(self,top,bottom):self.num =顶部self.den =底部self = self.to_lowest_form()def to_lowest_form(self)... ... >>
[通过减少Fraction
方法中的分子/分母时返回一个to_lowest_form
的新实例,而不是返回减少的数字本身,使事情变得更加复杂。考虑将简化的数字保留为属性,after