圆周率的计算与进度条

         先来看几张图片

......

       以上依次是正四边形,正八边形,正十六边形......这些图形的对角线长都是2,不难看出,按这种方式一直画下去,最后的图形可以近似看作一个圆,以下代码是依照这种思路用Python计算π的值,附加进度条

复制代码
import math
import time 
scale=14
s,m,=1,2
print("执行开始".center(scale//2, "-"))
start = time.perf_counter()
for i in range(scale+1): 
    s=math.sqrt((1-math.sqrt(1-pow(s,2)))/2)
    m=m*2
    a = '*' * i 
    b = '.' * (scale - i)
    c = (i/scale)*100 
    dur = time.perf_counter() - start 
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur))
    time.sleep(0.1)
Pi=s*m
print("Pi值是{}".format(Pi))
print("\n"+"执行结束".center(scale//2,'-'))
复制代码

运行结果如下

猜你喜欢

转载自www.cnblogs.com/abing123/p/10548522.html