Python如何求两个分数的和
时间: 2023-05-19 16:01:28 浏览: 100
要求两个分数的和,可以先将两个分数通分,然后将分子相加,分母保持不变,最后将结果化简即可。以下是Python代码示例:
```python
# 定义分数类
class Fraction:
def __init__(self, numerator, denominator):
self.numerator = numerator
self.denominator = denominator
# 定义加法运算
def __add__(self, other):
# 通分
lcm = self.denominator * other.denominator
num1 = self.numerator * other.denominator
num2 = other.numerator * self.denominator
# 分子相加
numerator = num1 + num2
# 化简
gcd = self.gcd(numerator, lcm)
numerator //= gcd
lcm //= gcd
# 返回结果
return Fraction(numerator, lcm)
# 定义最大公约数函数
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(1, 2)
f2 = Fraction(1, 3)
print(f1 + f2) # 输出结果为 5/6
```
以上代码中,我们定义了一个分数类 Fraction,其中包含了分子和分母两个属性,以及加法运算和最大公约数函数。在加法运算中,我们先将两个分数通分,然后将分子相加,最后化简得到结果。最后我们测试了一下,将 1/2 和 1/3 相加,得到了 5/6 的结果。