用python写一个程序,定义有理数类,并创建两个实例,完成有理数的相加、相乘
时间: 2024-10-25 10:09:53 浏览: 22
在Python中,我们可以定义一个有理数类(RationalNumber),每个实例由分子(numerator)和分母(denominator)组成,表示分数形式。以下是创建一个简单有理数类以及实现加法和乘法操作的例子:
```python
class RationalNumber:
def __init__(self, numerator=0, denominator=1):
if denominator == 0:
raise ValueError("Denominator cannot be zero")
self.numerator = numerator
self.denominator = denominator
def __str__(self):
return f"{self.numerator}/{self.denominator}"
def add(self, other):
common_denom = self.denominator * other.denominator
new_numerator = (self.numerator * common_denom + other.numerator * self.denominator)
return RationalNumber(new_numerator, common_denom)
def multiply(self, other):
new_numerator = self.numerator * other.numerator
new_denominator = self.denominator * other.denominator
return RationalNumber(new_numerator, new_denominator)
# 创建两个有理数实例
num1 = RationalNumber(4, 5)
num2 = RationalNumber(2, 3)
# 相加
sum_result = num1.add(num2)
print(f"Sum: {sum_result}")
# 相乘
product_result = num1.multiply(num2)
print(f"Product: {product_result}")
```
在这个例子中,`add()`方法通过找到两个分数的公共分母来进行相加,`multiply()`方法直接相乘分子并保持各自的分母。注意,为了简化计算,这里假设了输入的两个分数都没有除零的情况。
阅读全文