类的功能
- 可以加减。
- 可以显示分数。
- 可以判断两个分数是否相等。
Code
from fractions import gcd
class Fraction:
def __init__(self, top, bottom):
self.num = top
self.den = bottom
def __str__(self):
return str(self.num) + '/' + str(self.den)
def gcd(m, n):
while m % n != 0:
oldm = m
oldn = n
n = oldm
m = oldm % oldn
return n
def show(self):
print(self.num, '/', self.den)
def __add__(self, otherfraction):
newnum = self.num * otherfraction.den + \
self.den * otherfraction.num
newden = self.den * otherfraction.den
common = gcd(newnum, newden)
return Fraction(newnum // common, newden // common)
def __eq__(self, other):
firstnum = self.num * other.den
secondnum = self.den * other.num
return firstnum == secondnum