Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created April 17, 2021 17:29
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/38ed52282bea5c18f58a79c95996f434 to your computer and use it in GitHub Desktop.
Save parzibyte/38ed52282bea5c18f58a79c95996f434 to your computer and use it in GitHub Desktop.
class FraccionMixta():
def __init__(self, entero: int, fraccion: 'Fraccion'):
self.entero = entero
self.fraccion = fraccion
def a_impropia(self):
numerador = self.fraccion.numerador
if(self.entero != 0):
numerador = numerador + (self.fraccion.denominador*self.entero)
return Fraccion(numerador, self.fraccion.denominador)
def desde_impropia(fraccion: 'Fraccion'):
entero = 0
if fraccion.numerador >= fraccion.denominador:
entero = fraccion.numerador//fraccion.denominador
residuo = fraccion.numerador % fraccion.denominador
if residuo > 0:
fraccion = Fraccion(residuo, fraccion.denominador)
else:
fraccion = None
return FraccionMixta(entero, fraccion)
def __str__(self):
resultado = ""
if self.entero:
resultado += str(self.entero)
if self.fraccion != None:
resultado += " + "
if self.fraccion:
resultado += str(self.fraccion)
return resultado
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment