猫史档案馆


【Python作品分享】pi

用户:凌浩然tzXC凌浩然tzXC查看:0 回复:0 评论:0 创建时间:2023-01-11T11:30:36


【作品展示】

center_image

 

【作品介绍】

算圆周率(pi)

 

【作品源代码】

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))) #输出计算结果

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页