6

有没有人见过这样的事情?小型自给自足模块是首选。

4

3 回答 3

9

如有必要,可以删除 2.6 中的分数模块。抓取 fractions.py、numbers.py 和 abc.py;所有纯python模块。

您可以从这里获取单个文件(2.6 分支,2.7 不起作用): http ://hg.python.org/cpython/branches

于 2008-11-30T21:57:16.400 回答
8

SymPy是一个完全用 Python 编写的符号数学库,完全支持有理数。从教程

>>> from sympy import *
>>> a = Rational(1,2)

>>> a
1/2

>>> a*2
1

>>> Rational(2)**50/Rational(10)**50
1/88817841970012523233890533447265625

还有 Python 的 GMP ( GMPY ),虽然不是纯 Python,但可能更有效。

于 2008-11-30T20:47:25.277 回答
2

要尝试的另一件事是Python 2.5 维护分支中演示文件夹中的Rat.py。如果我理解正确,它是 2.6 的爸爸fractions。它是一个没有依赖关系的单一模块。

>>> from Rat import rat
>>> rat(1) / rat(3)
Rat(1,3)
>>> rat(1, 3) ** 2
Rat(1,9)

更新:不,fractions.py我的任务快了大约 2.5 倍。

于 2008-12-01T12:33:28.083 回答