Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created April 17, 2021 17:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/5ae402dfae5448b8c8e96a90952cb528 to your computer and use it in GitHub Desktop.
Save parzibyte/5ae402dfae5448b8c8e96a90952cb528 to your computer and use it in GitHub Desktop.
"""
Operaciones
"""
def suma(self, otra: 'Fraccion') -> 'Fraccion':
mcm = self.minimo_comun_multiplo(self.denominador, otra.denominador)
diferencia_self = mcm/self.denominador
diferencia_otra = mcm/otra.denominador
numerador_resultado = (diferencia_self*self.numerador) + \
(diferencia_otra*otra.numerador)
return Fraccion(numerador_resultado, mcm)
def resta(self, otra: 'Fraccion') -> 'Fraccion':
mcm = self.minimo_comun_multiplo(self.denominador, otra.denominador)
diferencia_self = mcm/self.denominador
diferencia_otra = mcm/otra.denominador
numerador_resultado = (diferencia_self*self.numerador) - \
(diferencia_otra*otra.numerador)
return Fraccion(numerador_resultado, mcm)
def producto(self, otra: 'Fraccion') -> 'Fraccion':
return Fraccion(self.numerador*otra.numerador, self.denominador*otra.denominador)
def cociente(self, otra: 'Fraccion') -> 'Fraccion':
return Fraccion(self.numerador*otra.denominador, self.denominador*otra.numerador)
def inversa(self) -> 'Fraccion':
return Fraccion(self.denominador, self.numerador)
def potencia(self, exponente) -> 'Fraccion':
return Fraccion(self.numerador ** exponente, self.denominador ** exponente)
def simplifica(self) -> 'Fraccion':
mcd = self.maximo_comun_divisor(self.numerador, self.denominador)
return Fraccion(self.numerador / mcd, self.denominador / mcd)
def a_mixta(self) -> 'FraccionMixta':
return FraccionMixta.desde_impropia(self)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment