使用流算法生成任意数量的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系列还可用作生成器函数pigenleibnizpigengosper和相应的getpileibnizgetpigosper函数。 这些实现比基于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 头的数字。

开发

如果克隆存储库(GitHubBitBucket),并对 可以在附带的测试包中运行测试用例的算法 测试更改的源。

要在与setup.py相同的目录中运行测试,请首先运行:

>>> python setup.py develop

这将以“开发”模式安装程序包。然后运行 测试用例:

>>> python setup.py test

Bug reports或建议是最受欢迎的。

许可证

pidigits是根据Apache License 2.0授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何计算以下代码片段的复杂性?   java他们怎样才能使“瓶子”和“瓶子”这样的词被认为是同一个词呢?这就是我目前所拥有的   用于在不同编码之间转换字符的Java库   Java为什么我输入的每个输入都会忽略我的While循环?   (Java)通过socket发送和映像时出错:Java。木卫一。StreamCorruptedException:无效类型代码:3B   java错误:在camel XML文件中,解组对象是不受支持的类型   springboot+kafka应用程序中的java错误管理   java如何从地图中的值中获取一组值?   二维向量Java   java如果我从未使用ThreadSafeClientConnManager调用closeExpiredConnections,会发生什么   if语句如何在if-else循环中对同一数据使用多个条件?java/安卓   java我如何在安卓中放慢速度?   javaee:需要更好的部署系统   如何使用java将XML文件加载到Oracle18c上的XMLType列   用于连接两个表的java Hibernate查询   在更新数据库之前,java JSP需要使用用户给定的值检查数据库中的值   java无法使用Jersey从rest服务获取数据字段