¿Alguien ha visto algo así? Se prefieren módulos pequeños autosuficientes.Módulo de números racionales de Pure Python para 2.5
Respuesta
El fractions module de 2.6 se puede arrancar si es necesario. Toma fracciones.py, numbers.py y abc.py; todos los módulos puros de python.
Usted puede obtener los archivos individuales de aquí (2.6 rama, 2.7 no funciona): http://hg.python.org/cpython/branches
SymPy es una biblioteca de matemática simbólica escrita completamente en Python y tiene soporte completo para números racionales. Desde el tutorial:
>>> from sympy import *
>>> a = Rational(1,2)
>>> a
1/2
>>> a*2
1
>>> Rational(2)**50/Rational(10)**50
1/88817841970012523233890533447265625
También hay GMP para Python (GMPY) que, aunque no Python puro, es probablemente más eficiente.
Gracias. SymPy's Rational es agradable, aunque un tanto entrelazado con otras partes de la biblioteca. – Constantin
Una cosa más que intentar es Rat.py de la carpeta de demostración en Python 2.5 rama de mantenimiento. Si entiendo correctamente, es el padre de 2.6 fractions
. Es un módulo único sin dependencias.
>>> from Rat import rat
>>> rat(1)/rat(3)
Rat(1,3)
>>> rat(1, 3) ** 2
Rat(1,9)
ACTUALIZACIÓN: No, fractions.py
es aproximadamente 2,5 veces más rápido para mi tarea.
- 1. ¿Cómo comparar números racionales?
- 2. Usar el módulo de subproceso Python 2.6 en Python 2.5
- 3. biblioteca de python Pure gui?
- 4. ¿Qué módulo JSON puedo usar en Python 2.5?
- 5. ¿Hay una biblioteca de números racionales comúnmente utilizada en Java?
- 6. Biblioteca Pure Python para generar Identicons?
- 7. Python 2.5 Windows Binarios?
- 8. Decoradores de clase en Python 2.5?
- 9. La operación de módulo en números negativos en Python
- 10. ¿Cómo puedo enumerar los métodos en un módulo de Python 2.5?
- 11. PyCharm 2.5 TestRunner no puede importar el módulo específico
- 12. Python 2.5 diccionario 2 tipo de clave
- 13. ctypes import not working on python 2.5
- 14. Python __repr__ para números?
- 15. módulo python para nslookup
- 16. Módulo SSH para python
- 17. Potencia de módulo de números grandes
- 18. módulo de rastreo de Python para principiantes
- 19. En Python 2.5, ¿cómo elimino un subproceso?
- 20. Random in python 2.5 no funciona?
- 21. operación de módulo con números negativos
- 22. Módulo de Python para shellquote/unshellquote?
- 23. Python: módulo para trazar diagramas de Gantt
- 24. módulo usb de plataforma cruzada para python?
- 25. Módulo de Python para plister binario
- 26. Mejor módulo de Python para análisis de HTML
- 27. python "módulo de cadena"?
- 28. Incompatibilidad de registro de Python entre 2.5 y 2.6
- 29. intente ... excepto ... como error en Python 2.5 - Python 3.x
- 30. ¿Algún recurso para juegos Pure Actionscript 3?
Es cierto, ¡pensé que sería mucho más difícil! – Constantin
Nota: Esto no parece funcionar en el caso general. Por ejemplo: fracciones. Fracción (10) * 10 => Error de atributo: el objeto 'int' no tiene atributo 'numerador'. Los objetos int parecen tener un numerador en Python 2.6, pero no en Python 2.5. Me interesaría saber cómo otros trabajaron alrededor de este problema (obligué a mis literales a ser fracciones antes de usar operadores). – benno
Una mejor solución es cambiar las definiciones de 'forward' e 'reverse' en la función '_operator_fallbacks' para manejar correctamente int, y long. Difícil de describir en el comentario debido a las opciones de formato limitado, pero algo así como: "elif isinstance (b, (int, long)): return monomorphic_operator (a, Fraction (b)" – benno