Llevo muchos años trabajando en programación y me he encontrado con un sinfín de problemas entre los que destaco el proceso de trabajar con números racionales, lo cual puede convertirse en un desafío. Esto puede solucionarse fácilmente con el módulo de import fractions, que te ayuda a manejar fracciones y a dejar de depender de los números decimales que a menudo presentan tantos errores de redondeo. Veamos, pues, qué es y cómo funciona import fractions.
¿Qué es el módulo de import fractions?
El módulo de import fractions nos sirve para trabajar en Python con números racionales mucho más sencillamente. Por medio de este módulo puedes crear fracciones usando enteros, flotantes, cadenas o incluso números decimales. Esto brinda una flexibilidad en el manejo de cálculos matemáticos exactos, en lugar de estar dependiendo de aproximaciones.
La clase principal del módulo es Fraction y esta representa un número racional con un numerador y un denominador en su forma más simplificada.
Para comenzar a trabajar con el módulo, primero debes importarlo:
from fractions import Fraction
Crear fracciones con Fraction
La clase Fraction, dentro del módulo de import fractions, ofrece varias maneras de crear fracciones. Veamos algunas de ellas:
- A partir de enteros:
frac1 = Fraction(3, 4) # Representa 3/4
print(frac1) # Output: 3/4
- A partir de flotantes:
frac2 = Fraction(0.75)
print(frac2) # Output: 3/4
- A partir de cadenas:
frac3 = Fraction('1.5')
print(frac3) # Output: 3/2
- A partir de decimales:
from decimal import Decimal
frac4 = Fraction(Decimal('2.5'))
print(frac4) # Output: 5/2
Propiedades útiles de Fraction
La clase Fraction dentro del módulo import fractions, incluye propiedades y métodos que facilitan el trabajo con fracciones:
- Numerador y denominador:
frac = Fraction(5, 10)
print(frac.numerator) # Output: 1
print(frac.denominator) # Output: 2
- Conversiones a otras representaciones:
print(frac.as_integer_ratio()) # Output: (1, 2)
- Limitación del denominador: Esto es muy usado en el campo para aproximar números decimales a fracciones con denominadores manejables.
frac = Fraction(3.14159)
approx = frac.limit_denominator(1000)
print(approx) # Output: 355/113
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaVeamos un ejemplo:
Supongamos que estás desarrollando un programa para calcular proporciones exactas en recetas. Con fractions, puedes asegurarte de que las cantidades se mantengan precisas sin errores de redondeo:
from fractions import Fraction
harina = Fraction(3, 2) # 1.5 tazas de harina
azúcar = Fraction(2, 3) # 2/3 tazas de azúcar
total = harina + azúcar
print(total) # Output: 13/6 (equivale a 2 1/6 tazas)
Ventajas de usar fractions sobre flotantes
El módulo de import fractions destaca por su capacidad de manejar cálculos matemáticos con precisión exacta, algo que no siempre es posible con números flotantes. Esto lo convierte en una herramienta de gran valor para escenarios tales como:
- Precisión en cálculos complejos: Los números flotantes suelen sufrir errores de representación debido a la forma en que las computadoras manejan el sistema binario. Por ejemplo, el cálculo de 0.1 + 0.2 en flotantes no da exactamente 0.3, sino algo como 0.30000000000000004. Con fractions, los cálculos se realizan con precisión exacta:
from fractions import Fraction resultado = Fraction(1, 10) + Fraction(2, 10) print(resultado) # Output: 3/10
- Simplicidad matemática: La clase Fraction reduce automáticamente los números a su forma más simple. Esto es útil cuando trabajas con ecuaciones o cálculos simbólicos, garantizando resultados más limpios y legibles.
- Soporte para múltiples formatos: Puedes trabajar con datos provenientes de diferentes fuentes, ya que fractions admite enteros, cadenas, flotantes y decimales para construir fracciones. Esto facilita integrar cálculos precisos en aplicaciones que manejan diferentes tipos de entrada.
- Aplicación en entornos críticos: En áreas como finanzas o cálculos científicos, donde los errores de redondeo pueden tener consecuencias graves, usar fracciones asegura un control más preciso de los resultados.
Si quieres seguir aprendiendo sobre tecnología y programación, no dudes en unirte a nuestro bootcamp en programación desde cero, en el cual aprenderás toda la fundamentación teórica y práctica que te permitirá escalar en el mundo laboral y adquirir excelentes oportunidades. ¡No esperes más para iniciar tu formación, da el salto ahora!