3、创建一个Fraction类执行分数运算。要求如下: (1)用整型数表示类的private成员变量:f1和f2。 (2)提供构造方法,将分子存入f1,分母存入f2。 (3)提供两个分数相加的运算方法,结果分别存入f1和f2。 (4)提供两个分数相减的运算方法,结果分别存入f1和f2。 (5)提供两个分数相乘的运算方法,结果分别存入f1和f2。 (6)提供两个分数相除的运算方法,结果分别存入f1和f2。 (7)以a/b的形式输出Fraction数。 (8)以浮点数的形式输出Fraction数。 (9)编写主程序进行分数运算。
时间: 2024-02-29 18:53:17 浏览: 31
好的,我知道了你的问题。以下是Fraction类的实现,包括构造方法和各种运算方法:
```python
class Fraction:
def __init__(self, f1, f2):
self.f1 = f1
self.f2 = f2
def add(self, other):
self.f1 = self.f1 * other.f2 + other.f1 * self.f2
self.f2 = self.f2 * other.f2
def subtract(self, other):
self.f1 = self.f1 * other.f2 - other.f1 * self.f2
self.f2 = self.f2 * other.f2
def multiply(self, other):
self.f1 = self.f1 * other.f1
self.f2 = self.f2 * other.f2
def divide(self, other):
self.f1 = self.f1 * other.f2
self.f2 = self.f2 * other.f1
def __str__(self):
return str(self.f1) + '/' + str(self.f2)
def to_float(self):
return self.f1 / self.f2
```
其中,构造方法将传入的分子和分母存储到对象的私有成员变量f1和f2中。add()、subtract()、multiply()和divide()方法分别进行分数的加、减、乘、除运算,并将结果存入对象的f1和f2中。__str__()方法返回形如"a/b"的字符串表示形式,to_float()方法返回浮点数表示形式。
以下是一个主程序示例,对两个分数进行加减乘除运算,并输出结果:
```python
f1 = Fraction(1, 2)
f2 = Fraction(2, 3)
print("f1:", f1)
print("f2:", f2)
f1.add(f2)
print("f1+f2:", f1)
f1.subtract(f2)
print("f1-f2:", f1)
f1.multiply(f2)
print("f1*f2:", f1)
f1.divide(f2)
print("f1/f2:", f1)
print("f1 as float:", f1.to_float())
print("f2 as float:", f2.to_float())
```
输出结果如下:
```
f1: 1/2
f2: 2/3
f1+f2: 7/6
f1-f2: 1/6
f1*f2: 1/3
f1/f2: 1/2
f1 as float: 0.5
f2 as float: 0.6666666666666666
```
希望这个实现能帮助到你。