Módulo de fracciones en Python

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.

  1. 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)
  1. Producción : 
11/35
5/9
0
  1. 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.
  2. 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)
  1. Producción : 
1272266894732165/1125899906842624
  1. 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)
  1. Producción : 
113/100
  1. 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)
  1. Producción : 
8/25
113/100
3/7
1414213/1000000
  1. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *