This workspace is provided for your convenience. You can use this activecode window to try out anything you like.
Fractionclass. In particular, we will implement arithmetic. To begin, consider what it means to add two fractions together. Remember that you can only add fractions if they have the same denominator. The easiest way to find a common denominator is to multiply the two individual denominators together. Anything we do to the denominator needs to the done to the numerator. This gives us the following equation for fraction addition:
a/b + c/d = (ad + cb)/bd
addmethod will take a
Fractionas a parameter. It will return a new
Fractionrepresenting the sum. We will use the equation shown above to compute the new numerator and the new denominator. Since this equation will not give us lowest terms, we will utilize a similar technique as was used in the
simplifymethod to find the greatest common divisor and then divide each part of the new fraction.
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)
addmethod, we can use the addition operator “+”. This requires that we implement another special method, this time called
__add__. The details of the method are the same.
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)
f1 = Fraction(1, 2) f2 = Fraction(1, 4) f3 = f1 + f2 # calls the __add__ method of f1 print(f3)