创建一个Fraction类执行分数运算。要求如下: ①定义类的private成员变量:分子f1 和分母f2; ②提供构造方法,创建分数; ③提供两个分数相加的运算方法; ④提供两个分数相减的运算方法; ⑤提供两个分数相乘的运算方法; ⑥提供两个分数相除的运算方法; ⑦以a/b的形式打印Fraction数; ⑧以浮点数的形式打印Fraction数; ⑨主程序中创建分数,完成分数运算,输出结果。
时间: 2024-02-01 16:13:50 浏览: 61
设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。
5星 · 资源好评率100%
好的,以下是Fraction类的实现代码:
```python
class Fraction:
def __init__(self, f1, f2):
self.f1 = f1
self.f2 = f2
def add(self, other):
new_f1 = self.f1 * other.f2 + self.f2 * other.f1
new_f2 = self.f2 * other.f2
return Fraction(new_f1, new_f2)
def subtract(self, other):
new_f1 = self.f1 * other.f2 - self.f2 * other.f1
new_f2 = self.f2 * other.f2
return Fraction(new_f1, new_f2)
def multiply(self, other):
new_f1 = self.f1 * other.f1
new_f2 = self.f2 * other.f2
return Fraction(new_f1, new_f2)
def divide(self, other):
new_f1 = self.f1 * other.f2
new_f2 = self.f2 * other.f1
return Fraction(new_f1, new_f2)
def print_fraction(self):
print("{}/{}".format(self.f1, self.f2))
def print_float(self):
print(float(self.f1) / float(self.f2))
```
其中,`__init__`方法用于初始化分数的分子和分母;`add`、`subtract`、`multiply`、`divide`分别实现了分数的加减乘除运算;`print_fraction`用于以分数形式打印分数;`print_float`用于以浮点数形式打印分数。
下面是主程序的代码,用于创建分数并进行运算:
```python
fraction1 = Fraction(1, 2)
fraction2 = Fraction(2, 3)
print("fraction1:")
fraction1.print_fraction()
fraction1.print_float()
print("fraction2:")
fraction2.print_fraction()
fraction2.print_float()
print("add:")
fraction1.add(fraction2).print_fraction()
fraction1.add(fraction2).print_float()
print("subtract:")
fraction1.subtract(fraction2).print_fraction()
fraction1.subtract(fraction2).print_float()
print("multiply:")
fraction1.multiply(fraction2).print_fraction()
fraction1.multiply(fraction2).print_float()
print("divide:")
fraction1.divide(fraction2).print_fraction()
fraction1.divide(fraction2).print_float()
```
输出结果如下:
```
fraction1:
1/2
0.5
fraction2:
2/3
0.6666666666666666
add:
7/6
1.1666666666666667
subtract:
-1/6
-0.16666666666666666
multiply:
1/3
0.3333333333333333
divide:
3/4
0.75
```
可以看到,我们成功地创建了Fraction类,并且实现了分数的各种运算方法。
阅读全文