建立fration类,包含分子和分母两个实例变量,并定义相应的get和set方法。另外包含一个化简reduce方法。还包含两个分数相加的add方法。
时间: 2023-06-18 16:06:32 浏览: 100
设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。
5星 · 资源好评率100%
以下是一个基本的Fraction类的示例代码:
```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_fraction):
new_numerator = self.__numerator * other_fraction.get_denominator() + other_fraction.get_numerator() * self.__denominator
new_denominator = self.__denominator * other_fraction.get_denominator()
return Fraction(new_numerator, new_denominator)
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)
```
在上面的代码中,我们定义了一个Fraction类,它有两个实例变量:分子和分母。我们使用了Python的双下划线(__)来将这些变量定义为私有变量,这意味着它们只能在类中访问,而不能从类的外部访问。我们还定义了相应的get和set方法来访问和修改这些变量。
我们还定义了一个reduce方法来化简分数,它使用了一个内部的__gcd方法来计算最大公约数。我们还定义了一个add方法来将两个分数相加,它返回一个新的Fraction对象。
最后,我们还定义了一个__str__方法来将分数转换为字符串形式,使得我们可以方便地打印分数。
阅读全文