Este módulo proporciona soporte para la aritmética de números racionales. Permite crear una instancia de Fraction a partir de enteros, flotantes, números, decimales y strings. Instancias de fracción: una instancia de fracción se puede construir a partir de un par de números enteros, de otro número racional o de una string. Las instancias de fracciones se pueden modificar y deben tratarse como inmutables.
- fracciones de clase. Fracción (numerador = 0, denominador = 1): esto requiere que el numerador y el denominador sean instancias de números. Se devuelve una instancia racional y una fracción con valor = (numerador/denominador). Se genera un error de división cero si el denominador = 0.
Python3
from fractions import Fraction print (Fraction(11, 35)) # returns Fraction(11, 35) print (Fraction(10, 18)) # returns Fraction(5, 9) print (Fraction()) # returns Fraction(0, 1)
- Producción :
11/35 5/9 0
- fracciones de clase.Fracción (otra_fracción): esto requiere que otra_fracción sea una instancia de números. Racional y se devuelva una instancia de fracción con el mismo valor.
- fracciones de clase. Fracción (flotante): esto requiere la instancia flotante y se devuelve una instancia de fracción con el mismo valor.
Python3
from fractions import Fraction print (Fraction(1.13)) # returns Fraction(1272266894732165, 1125899906842624)
- Producción :
1272266894732165/1125899906842624
- fracciones de clase. Fracción (decimal): esto requiere la instancia decimal y se devuelve una instancia de fracción con el mismo valor.
Python
from fractions import Fraction print (Fraction('1.13')) # returns Fraction(113, 100)
- Producción :
113/100
- fracciones de clase.Fracción (string): esto requiere la instancia de string o Unicode y se devuelve una instancia de fracción con el mismo valor. Forma para esta instancia: [signo] numerador [denominador ‘/’] Aquí, el signo representa ‘+’ o ‘-‘ y el numerador y el denominador son strings de un solo dígito.
Python3
from fractions import Fraction print (Fraction('8/25')) # returns Fraction(8, 25) print (Fraction('1.13')) # returns Fraction(113, 100) print (Fraction('3/7')) # returns Fraction(3, 7) print (Fraction('1.414213 \t\n')) # returns Fraction(1414213, 1000000)
- Producción :
8/25 113/100 3/7 1414213/1000000
- limit_denominator(max_denominator=1000000) :
- Este método es útil para encontrar aproximaciones racionales a un número de punto flotante dado.
- Este módulo encuentra y devuelve la fracción más cercana a sí misma que tiene denominador como máximo max_denominator.
- Este módulo también se puede usar para devolver el numerador de una fracción dada en el término más bajo usando la propiedad del numerador y el denominador usando la propiedad del denominador .
Realización de operaciones matemáticas con fracciones
Python
from fractions import Fraction print (Fraction(113, 100) + Fraction(25, 18)) # returns Fraction(2267, 900) print (Fraction(18, 5) / Fraction(18, 10)) # returns Fraction(2, 1) print (Fraction(18, 5) * Fraction(16, 19)) # returns Fraction(288, 95) print (Fraction(18, 5) * Fraction(15, 36)) # returns Fraction(3, 2) print (Fraction(12, 5) ** Fraction(12, 10)) # returns 2.8592589556010197
Producción :
2267/900 2 288/95 3/2 2.8592589556
Cálculos basados en fracciones usando varias funciones del módulo matemático
Python3
import math from fractions import Fraction print (math.sqrt(Fraction(25, 4))) # returns 2.5 print (math.sqrt(Fraction(28,3))) # returns 3.0550504633038935 print (math.floor(Fraction(3558, 1213))) # returns 2 print (Fraction(math.sin(math.pi/3))) # returns Fraction(3900231685776981, 4503599627370496) print (Fraction(math.sin(math.pi/3)).limit_denominator(10)) # returns Fraction(6, 7)
Producción :
2.5 3.0550504633 2.0 3900231685776981/4503599627370496 6/7
Este artículo es una contribución de Aditi Gupta . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA