创建分数类
# encoding:utf-8
# 求最大公约数的函数,有待优化...
def gmc(a, b):
for x in range(min(a, b), 1, -1):
if a % x == 0 and b % x == 0:
return x
class Fraction:
def __init__(self, top, bottom):
self.top = top
self.bottom = bottom
# 打印属性
def __repr__(self):
return f'(class {__class__.__name__}) {self.top}/{self.bottom}'
# 加法属性
def __add__(self, other):
if isinstance(other,Fraction):
top = self.top *other.bottom + other.top * self.bottom
bottom = self.bottom * other.bottom
gcd = gmc(top,bottom)
return Fraction(top
else:
return ValueError,'必须为Fraction类!'
if __name__ == '__main__':
a = Fraction(1, 4)
b = Fraction(1, 2)
print(a+b)