使用流算法生成任意数量的pi或tau。
pidigits的Python项目详细描述
pi digits通过 杰里米·吉本斯。描述这种算法的文章可以在这里找到 URL。同样的算法用于生成Tau的数字。不管是哪个 循环常量,现在可以使用 这个包裹。
安装
pidigits可以通过使用pip的python包索引(PyPI)获得。
>>> pip install --upgrade pidigits
使用pip卸载。
>>> pip uninstall pidigits
用法
pidigits提供一个名为pigenerator的生成器函数,该函数生成 根据需要输入pi的数字。基于lambert表达式的流算法 用于生成器功能。
>>> from pidigits import piGenerator >>> mypi = piGenerator() >>> first20pi = [next(mypi) for i in range(20)] >>> first20pi [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4]
示例:验证Feynman point。
>>> mypi = piGenerator() >>> first1001 = [next(mypi) for i in range(1001)] >>> feynman = first1001[762:768] >>> print feynman [9, 9, 9, 9, 9, 9]
或者,也可以使用getpi(n)函数获取第一个n 圆周率的数字。
>>> from pidigits import getPi >>> first20pi = getPi(20) >>> first20pi [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4]
基于leibniz级数和 gosper系列还可用作生成器函数pigenleibniz和 pigengosper和相应的getpileibniz和getpigosper函数。 这些实现比基于lambert级数的实现慢。
pidigits还提供了一个生成器函数名taugenerator来生成 根据需要,Tau的数字。
>>> from pidigits import tauGenerator >>> mytau = tauGenerator() >>> first20tau = [next(mytau) for i in range(20)] >>> first20tau [6, 2, 8, 3, 1, 8, 5, 3, 0, 7, 1, 7, 9, 5, 8, 6, 4, 7, 6, 9]
或者,也可以使用gettau(n)函数获取第一个n 头的数字。
开发
如果克隆存储库(GitHub,BitBucket),并对 可以在附带的测试包中运行测试用例的算法 测试更改的源。
要在与setup.py相同的目录中运行测试,请首先运行:
>>> python setup.py develop
这将以“开发”模式安装程序包。然后运行 测试用例:
>>> python setup.py test
Bug reports或建议是最受欢迎的。
许可证
pidigits是根据Apache License 2.0授权的。