首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于Leibniz数字行的Python脚本

用于Leibniz数字行的Python脚本
EN

Stack Overflow用户
提问于 2016-11-15 20:26:05
回答 2查看 222关注 0票数 0

我试图用Python2.7编写简单的脚本来计算Pi。我对莱布尼茨公式感兴趣:

π= (4/1) - (4/3) + (4/5) - (4/7) + (4/9) - (4/11) + (4/13) - (4/15)

因此,我认为"(4/1) - (4/3)“为X,1-3-5为y,y+2,y+4.

我写了这个剧本:

代码语言:javascript
运行
复制
def pi():
    p = 0.0
    y = 1.0
    x = 4.0/y - 4.0/(y+2.0)
    for i in range(10000):
        p = p + x
        y += 4.0
    print p

pi()

它没有按预期工作,你能解释一下为什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-15 20:35:31

这个方法很有效:

代码语言:javascript
运行
复制
def pi():
    p = 0.0
    y = 3.0
    x = 4.0 - 4/y
    for i in range(5000):
        y += 2
        x = x + 4/y
        y += 2
        x = x - 4/y
        print x

pi()
票数 0
EN

Stack Overflow用户

发布于 2016-11-15 20:39:40

如果您想使用xy方法,@Ukimiku的答案是有效的。

下面是使用实际公式的另一种方法:

代码语言:javascript
运行
复制
def pi():
    p = 0.0
    for i in range(10000):
        p += 4 * ((-1)**i) / float(2 * i + 1)

    print p

对于range(10000),这将打印

代码语言:javascript
运行
复制
3.14149265359
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40619067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档