我正试着自己写一个班级分数。我现在写了一些东西,为表达式提供输出,比如:分数(1,2)+分数(2,1)。但是,我如何定义加法,以便我可以将整数添加到分数中,例如:1+分数(2,1)。这是我对加法的定义:
def __add__(self, argument_twee):
return breuk(self.teller*argument_twee.noemer + self.noemer*argument_twee.teller, self.noemer*argument_twee.noemer)
Tags:
您需要使用
isinstance
来修改函数,该函数检查函数是否为int或其他类型输出
我会制作另一个函数,将整数转换成分数,如果您需要帮助,我可以帮助您编写代码
首先检查
argument_twee
的类型,或者更确切地说,看看是否可以将其视为Fraction
(可以添加其他测试以捕获非数字参数。)
它将处理
Fraction(1,2) + 1
。要处理1 + Fraction(1,2)
,您需要实现__radd__
,这(因为所需的加法是可交换的)与相关问题 更多 >
编程相关推荐