设计一个分数类,实现分数+分数和分数+整数操作
时间: 2024-05-09 14:18:10 浏览: 7
好的,这是一个关于分数类的问题,我可以直接回答。可以设计一个分数类,其中包括分子和分母两个整数变量,以及对应的构造函数和成员函数,例如可以增加一个add()函数,用于实现分数的加法。同时,还需要注意约分的问题。代码实现可以参考以下示例:
```python
class Fraction:
def __init__(self, numerator, denominator):
self.numerator = numerator
self.denominator = denominator
def add(self, other):
new_numerator = self.numerator * other.denominator + self.denominator * other.numerator
new_denominator = self.denominator * other.denominator
common_divisor = self.gcd(new_numerator, new_denominator)
if common_divisor > 1:
new_numerator //= common_divisor
new_denominator //= common_divisor
return Fraction(new_numerator, new_denominator)
def gcd(self, a, b):
if b == 0:
return a
return self.gcd(b, a % b)
fraction1 = Fraction(1, 3)
fraction2 = Fraction(2, 5)
result1 = fraction1.add(fraction2)
print(result1.numerator, result1.denominator)
fraction3 = Fraction(2, 3)
result2 = fraction3.add(1)
print(result2.numerator, result2.denominator)
```
这个分数类可以实现分数与分数之间的加法(例如1/3 + 2/5),也可以实现分数与整数之间的加法(例如2/3 + 1)。