python (a) 创建一个类 Rational,它由两个整数 p 和 q(提名符和分母)初始化
时间: 2024-02-05 13:04:45 浏览: 30
,可以进行加、减、乘、除操作,并能够简化结果。请问,你能回答这个问题吗?
可以回答这个问题。请看下面的代码实现:
```
class Rational:
def __init__(self, numerator, denominator):
# 约分
divisor = self.gcd(numerator, denominator)
self.numerator = numerator // divisor
self.denominator = denominator // divisor
def __add__(self, other):
new_num = self.numerator * other.denominator + other.numerator * self.denominator
new_den = self.denominator * other.denominator
return Rational(new_num, new_den)
def __sub__(self, other):
new_num = self.numerator * other.denominator - other.numerator * self.denominator
new_den = self.denominator * other.denominator
return Rational(new_num, new_den)
def __mul__(self, other):
new_num = self.numerator * other.numerator
new_den = self.denominator * other.denominator
return Rational(new_num, new_den)
def __truediv__(self, other):
new_num = self.numerator * other.denominator
new_den = self.denominator * other.numerator
return Rational(new_num, new_den)
def __str__(self):
return '{}/{}'.format(self.numerator, self.denominator)
def gcd(self, a, b):
if b == 0:
return a
return self.gcd(b, a % b)
```
通过上面的代码,就可以创建一个类Rational,它可以进行加、减、乘、除操作,并能够简化结果。