Python实现马青公式计算圆周率及进度条演示
本文介绍如何使用Python结合马青公式高精度计算圆周率π。通过导入requests库获取依赖,利用tqdm模块实现计算过程的可视化进度条,并展示在CMD和IDLE环境下的具体运行步骤与代码实例,帮助开发者掌握数值计算与界面反馈的结合技巧。
Python计算圆周率概述
使用Python语言进行圆周率π的数值计算。
环境依赖准备
第一步,确保环境中已安装第三方库管理工具pip。
在命令行界面(cmd)中执行命令:pip install requests,等待系统提示安装成功即可。
由于作者本地环境已预先完成该库的安装,因此此处省略安装成功的截图展示。
马青公式算法原理
第二步,采用马青公式(Machin's formula)作为核心算法来求解π值。

Python代码实现与进度条集成
第三步,编写完整的Python程序,实现将圆周率计算至任意指定小数位数的功能。
from math import *
from tqdm import tqdm
from time import *
total,s,n,t=0.0,1,1.0,1.0 clock()
while(fabs(t)>=1e-6):
total+=t n+=2 s=-s t=s/n k=total*4 print("π值是{:.10f}
运行时间为{:.4f}秒".format(k,clock())) for i in tqdm(range(101)): print("\r{:3}%".format(i),end="") sleep((clock())/100)#用执行程序的总时间来算出进度条间隔的时间
多环境运行演示
第四步,在命令行环境中按照图示方式运行上述代码。

若使用IDLE集成开发环境,执行以下对应代码逻辑。
#- * -coding: utf - 8 - * -
from __future__
import division
#################### 导入时间模块
import time
############### 计算当前时间
time1 = time.time()
################ 算法根据马青公式计算圆周率####################
number = int(input('请输入想要计算到小数点后的位数n:'))
# 多计算10位, 防止尾数取舍的影响
number1 = number + 10
# 算到小数点后number1位
b = 10 * * number1
# 求含4 / 5 的首项
x1 = b * 4 //5
# 求含1 / 239 的首项
x2 = b // -239
# 求第一大项
he = x1 + x2
# 设置下面循环的终点, 即共计算n项
number *= 2
# 循环初值 = 3, 末值2n, 步长 = 2
for i in range(3, number, 2):
#求每个含1 / 5 的项及符号
x1 //= -25
# 求每个含1 / 239 的项及符号
x2 //= -57121
# 求两项之和
x = (x1 + x2) // i
# 求总和
he += x
# 求出π
pai = he * 4
# 舍掉后十位
pai //= 10**10
############ 输出圆周率π的值
paistring = str(pai)
result = paistring[0] + str('.') +
paistring[1: len(paistring)]
print(result)
time2 = time.time()
print(u '总共耗时:' + str(time2 - time1) +
's')
最终程序输出计算结果如下所示。

以上内容为本文的全部分享,旨在为读者的学习提供辅助,欢迎持续关注本站获取更多技术资源。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









