B.2. Suma de fracciones Python

La suma es mas complicada que la multiplicación, pero aun es llevadera. La suma de a=b y c=d es la fracción (a*d+c*b)/b*d.
Usando como modelo el código de la multiplicación, podemos escribir __add__ y __radd__:
class Fracción:
...
    def __add__(self, otro):
        if type(otro) == type(5):
        otro = Fracción(otro)
    return Fracción(self.numerador * otro.denominador +
    self.denominador * otro.numerador,
    self.denominador * otro.denominador)
    __radd__ = __add__

Podemos probar estos métodos con Fracciones y enteros.


>;>> print Fracción(5,6) + Fracción(5,6)
60/36
>;>> print Fracción(5,6) + 3
23/6
>;>> print 2 + Fracción(5,6)
17/6

Los dos primeros ejemplos llaman a __add__ ; el ultimo llama a __radd__ .
1