赞
踩
1 问题
如何用python代码求圆周率。
2 方法
让所用公式等式右边分子都为1,分母为递增数列,从第一项开始,奇数项符号为正,偶数项符号为负。等式右边的分母越大,越小,圆周率π计算的值越精确
代码清单 1
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 += tmp b += 2 a = -a tmp = a/b i += 2 Bar(i) print('\n{:=^70}'.format('计算完成')) print('\nPi的计算值为:{}'.format(round(pi*4,level)) |
3 结语
针对如何利用python求圆周率的问题,我们利用函数通过实验,证明该方法有效,但有些地方任然有误差和错误,在未来应继续学习和改善,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。