建立 Fraction 类,包含分子和分母两个实例变量。并定义相应的 get 和 set 方法。另外还包含一个化简 reduce 方法,例如将 3/6 化简为 1/2。包含两个分数 相加的 add 方法。该方法将两个分数相加,并对结果进行化简。该类保存在 fraction.py 文件中。 运行效果如图所示。 输入第一个分数的分子:1 输入第一个分数的分母:6 输入第二个分数的分子:3 输入第二个分数的分母:4 1/6 3/4 和:11/12
时间: 2024-02-15 21:04:24 浏览: 139
好的,我明白了你的问题。以下是一个简单的 Fraction 类的实现,包括分子、分母、get/set方法、化简reduce方法和相加add方法。请注意,这个实现并不完整,还有很多可以改进的地方,但是它应该能够满足你的需求。
```python
class Fraction:
def __init__(self, numerator, denominator):
self.numerator = numerator
self.denominator = denominator
def get_numerator(self):
return self.numerator
def set_numerator(self, numerator):
self.numerator = numerator
def get_denominator(self):
return self.denominator
def set_denominator(self, denominator):
self.denominator = denominator
def reduce(self):
gcd = self.__gcd(self.numerator, self.denominator)
self.numerator //= gcd
self.denominator //= gcd
def add(self, other):
numerator = self.numerator * other.denominator + other.numerator * self.denominator
denominator = self.denominator * other.denominator
result = Fraction(numerator, denominator)
result.reduce()
return result
def __gcd(self, a, b):
if b == 0:
return a
else:
return self.__gcd(b, a % b)
def __str__(self):
return str(self.numerator) + "/" + str(self.denominator)
# 测试代码
f1 = Fraction(int(input("输入第一个分数的分子:")), int(input("输入第一个分数的分母:")))
f2 = Fraction(int(input("输入第二个分数的分子:")), int(input("输入第二个分数的分母:")))
print(f1)
print(f2)
result = f1.add(f2)
print("和:", result)
```
当你运行这个代码时,会要求你输入两个分数的分子和分母,然后输出相加的结果。请注意,输出的结果已经被化简过了。
阅读全文