Advertisement
Guest User

GABRIEL

a guest
Oct 23rd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. def __add__(self, other): # enables +
  2. x = lcm(self.denom, other.denom)
  3. f1 = x // self.denom
  4. f2 = x // other.denom
  5. return Rational(self.number * f1 + other.numer * f2, x).reduce()
  6.  
  7. def __sub__(self, other): # enables -
  8. x = lcm(self.denom, other.denom)
  9. f1 = x // self.denom
  10. f2 = x // other.denom
  11. return Rational(self.number * f1 - other.numer * f2, x).reduce()
  12.  
  13. def __mul__(self, other): # enables *
  14. return Rational(other.numer * self.numer, other.denom * self.denom)
  15.  
  16. def __truediv__(self, other): # enables /
  17. return Rational(self.numer * other.denom, self.denom * other.numer)
  18.  
  19. def reduce(self):
  20. x = gcd(self.numer, self.denom)
  21. return Rational(self.numer // x, self.denom // x)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement