python

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:

See the gist on github.

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:

See the gist on github.

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:

See the gist on github.

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:

See the gist on github.

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.

See the gist on github.

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:

See the gist on github.

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

See the gist on github.

Poniendo todo junto

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.

See the gist on github.

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

2 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

3 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

3 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

4 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.