Fracciones mixtas e impropias en Python - Manejo de operaciones de quebrados

Fracciones en Python

En este post de programación en Python con matemáticas te enseñaré cómo manejar fracciones o quebrados para hacer las operaciones de las mismas.

Veremos cómo hacer la suma, resta, producto, cociente (o multiplicación y división), inversa, potencia, simplificación y conversión entre mixta e impropia.

Básicamente te enseñaré cómo abstraer los quebrados en Python para que puedas operar con ellos y hacer todas sus operaciones. Desconozco si ya existe una librería que haga eso (o si el propio lenguaje lo hace), pero yo te enseñaré a hacerlo manualmente.

Las operaciones

Como te dije, vamos a operar con fracciones. Vamos a resolver:

  • Suma
  • Resta
  • Multiplicación o producto
  • Cociente o división
  • Inversa de la fracción
  • Potencia de una fracción

Además de convertir entre fracciones mixtas e impropias, así como simplificar quebrados. Supongo que en este punto ya sabes cómo hacer esas operaciones manualmente.

Clases ayudantes

Resolvamos esto con Programación orientada a objetos para hacer las cosas más fáciles. Una fracción tiene un numerador y un denominador. Para operar con otra, necesitamos recibir un objeto de la misma clase.

Para el caso de las fracciones mixtas las mismas tienen una parte entera y una fracción, misma que es de la clase Fraccion. Entonces vamos a tener dos clases: Fraccion y FraccionMixta.

Clase Fracción

Veamos primero el constructor que recibe el numerador y denominador. También definimos los métodos para convertirlo a cadena, y otro método que compara las fracciones:

Como puedes ver, el denominador no puede ser 0, ya que de serlo se lanzará una excepción. A continuación vemos algunos ayudantes, pues para algunas cosas necesitaremos el Mínimo común múltiplo y el máximo común divisor:

Finalmente veamos todos los métodos que se encargan de las operaciones. Aquí es en donde la magia sucede para poder resolver fracciones con Python:

Como mencioné antes, vamos a usar el mínimo común múltiplo para el caso de la resta y la suma. Además, el máximo común divisor se usa igualmente para simplificar el quebrado.

Existen otros métodos que convierten la fracción a mixta, pero eso tiene que ver con la siguiente clase. El código completo de la clase para manejar quebrados es:

Más adelante veremos cómo usarla.

La fracción mixta

Una fracción mixta tiene una parte entera y una fracción. En este caso las operaciones que tiene son la de convertir la mixta a impropia, y convertir una impropia a una mixta.

También cuenta con el constructor y el método para convertir la fracción a cadena.

Lo único que hacemos es hacer las operaciones matemáticas pero usando el lenguaje de programación Python. Verás que es muy fácil operar con las fracciones.

Modo de uso

Ya vimos las clases, ahora veamos cómo usarlas. Primero debemos importar las clases o tenerlas en el mismo archivo en donde las vamos a usar. Yo he optado por separarlas e importarlas por separado:

Ya después podemos crear una instancia e invocar a sus métodos. Por ejemplo, para sumar 2 quebrados en Python:

Poniendo todo junto

Fracciones mixtas e impropias en Python - Manejo de operaciones de quebrados
Fracciones mixtas e impropias en Python – Manejo de operaciones de quebrados

Para terminar el post te demostraré todos los métodos que podemos usar así como los resultados. Verás que son correctos, y que podemos usarlos según nuestras necesidades.

Por ejemplo, podrías primero sumar una fracción y después simplificarla, o convertirla a mixta. Eres libre de combinar todos los métodos.

Te dejo el código completo en GitHub. Recuerda que igualmente puedes probarlo en línea y aprender más sobre Python en mi blog.

Por cierto, puedes ver la explicación en YouTube:

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

2 comentarios en “Fracciones en Python”

Dejar un comentario