class Fraction: """ A basic mathematical fraction Instance variables: numerator denominator """ def __init__(self,top,bottom): self.numerator = top self.denominator = bottom def __str__(self): return str(self.numerator)+"/"+str(self.denominator) def __repr__(self): return "" def __add__(self,otherFraction): if self.denominator==otherFraction.denominator: newNumerator = self.numerator+otherFraction.numerator newDenominator = self.denominator else: newNumerator = self.numerator*otherFraction.denominator + \ otherFraction.numerator*self.denominator newDenominator = self.denominator*otherFraction.denominator return Fraction(newNumerator,self.denominator) def simplify(self): #Find the Greatest Common Divisor of the two numbers v1 = self.numerator v2 = self.denominator while v1%v2!=0: temp1 = v1 temp2 = v2 v1 = temp2 v2 = temp1%temp2 gcd = v2 #Now simply the two terms self.numerator = int(self.numerator/gcd) self.denominator = int(self.denominator/gcd) def __lt__(self,otherFraction): t1 = self.numerator*otherFraction.denominator t2 = otherFraction.numerator*self.denominator return t1t2 def __eq__(self,otherFraction): t1 = self.numerator*otherFraction.denominator t2 = otherFraction.numerator*self.denominator return t1==t2 def __le__(self,otherFraction): return not self>otherFraction def __ge__(self,otherFraction): return not self