当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程基础入门 > python中怎么计算pi

python中怎么计算pi

发布时间:2020年09月27日 08:03:55 来源: 点击量:455

【摘要】一、π的简介π的介绍圆周率用希腊字母 π(读作pài)表示,是一个常数(约等于3 141592654),是代表圆周长和直径的比值。它是一个即无

一、π的简介

π的介绍

圆周率用希腊字母 π(读作pài)表示,是一个常数(约等于3.141592654),是代表圆周长和直径的比值。它是一个即无限不循环小数,在日常生活中,通常都用3.14代表圆周率去进行近似计算。

π的求解历程

1965年,英国数学家约翰·沃利斯(John Wallis)出版了一本数学专著,其中他推导出一个公式,发现圆周率等于无穷个分数相乘的积。

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

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

相关推荐:《Python教程》

二、π的近似计算

1 计算公式

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. 图片示例

由上面3张图片可知,精确到小数点后4位只要14.07秒,精确到小数点后6位也需要124.61秒,而精确到小数点后8位就需要 850 / 8% = 10625秒,约为 177 分钟,也就是2.95个小时。这种方法固然好,但计算起来还是需要很长一段时间的。

《圆周率π》是个奇妙而美丽的存在,它是个无限不循环小数,就像是一种缺陷美,只要你有发现美的眼睛!

2011年,国际数学协会正式宣布,将每年的3月14日设为国际数学节,来源则是中国古代数学家祖冲之的圆周率。

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部