Clase Fracción
class Fraccion:
def __init__(self, numerador, denominador=1):
m = mcd (numerador, denominador)
self.numerador = numerador / m
self.denominador = denominador / m
def __mul__(self, otro):
if type(otro) == type(5):
otro = Fraccion(otro)
return Fraccion(self.numerador * otro.numerador, self.denominador * otro.denominador)
__rmul__ = __mul__
def __add__(self, otro):
if type(otro) == type(5):
otro = Fraccion(otro)
return Fraccion(self.numerador * otro.denominador + self.denominador * otro.numerador, self.denominador * otro.denominador)
__radd__ = __add__
def __cmp__(self, otro):
if type(otro) == type(5):
otro = Fraccion(otro)
dif = (self.numerador * otro.denominador - otro.numerador * self.denominador)
return dif
def __repr__(self):
return self.__str__()
def __str__(self):
return "%d/%d" % (self.numerador, self.denominador)
def mcd(m,n):
# devuelve el máximo común denominador de dos enteros
if m % n == 0:
return n
else:
return mcd(n,m%n)
Debe estar conectado para enviar un comentario.