知行编程网知行编程网  2022-10-12 18:30 知行编程网 隐藏边栏  24 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中怎么计算pi的相关知识,包括python中二进制怎么计算,以及python怎么输入这些编程知识,希望对大家有参考作用。

如何在python中计算pi


一、π的简介


π的介绍

Pi,由希腊字母 π(读作 pài)表示,是一个常数(约等于 3.141592654),表示圆的周长与其直径的比值。它是一个非循环小数。在日常生活中,通常使用 3.14 来表示 pi 进行近似计算。


π的求解历程

1965 年,英国数学家约翰·沃利斯(John Wallis)发表了一本关于数学的专着,他在其中推导出一个公式,发现 pi 等于无限个分数的乘积。

2015年,罗切斯特大学的科学家们在氢原子能级的量子力学计算中发现了圆周率相同的公式。

2019 年 3 月 14 日,谷歌宣布 pi 比率现已达到小数点后 31.4 万亿位。


二、π的近似计算

1 计算公式

如何在python中计算pi

2. 方法讲解

所用公式等式右边分子都为1,分母为递增数列,从第一项开始,奇数项符号为正,偶数项符号为负。等式右边的分母越大,越小,圆周率π计算的值越精确;换个角度讲,就是等式右边的项越多,计算的值越精确。

3. 代码实现(python)

from math import fabs        #导入数学模块
from time import perf_counter   #导入时间模块

    def Bar(i):         #动态文本条
        N = pow(10,level)
        a = int((i/N)*50)
        b = 50 - a
        Y , N = '*' * a , '.' * b
   print("\r计算中:{:3.0f}% [{}->{}] {:.2f}s".format(2*a,Y,N,perf_counter()),end='')
     
level = eval(input('计算Pi精确到小数点后几位数:'))
print('\n{:=^70}'.format('计算开始'))
a,b,pi,tmp = 1,1,0,1
i = 0
'''
a 分子  |  b 分母  |  pi 圆周率
tmp 存储a/b的值    |  i  执行进度
'''
perf_counter()      #开始计时
while (fabs(tmp) >= pow(10,-level)): #计算Pi
    pi += tmp
    b += 2
    a = -a
    tmp = a/b
    i += 2
    Bar(i)          #调用函数,实时显示计算进度

print('\n{:=^70}'.format('计算完成'))
print('\nPi的计算值为:{}'.format(round(pi*4,level))) #输出计算结果

4. 图片示例

如何在python中计算pi

如何在python中计算pi

如何在python中计算pi

从以上3张图可以看出,精确到小数点后4位仅需14.07秒,精确到小数点后6位需要124.61秒,850 / 8% = 10625秒可精确到小数点后8位,即大约是 177 分钟,也就是 2.95 小时。这个方法不错,但是计算时间还是比较长的。

“Pi”是一种奇妙而美丽的存在,它是一个不重复的小数,就像一种有缺陷的美,只要你有发现美的眼睛!

2011年,国际数学协会正式宣布将每年3月14日定为国际数学节。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享