python圆周率计算小程序(非常慢)

时间:2020-02-23 16:25:32   收藏:0   阅读:114

源码:

 1 from math import fabs           #导入数学模块
 2 
 3 from time import perf_counter   #导入时间模块
 4 
 5 from numba import jit
 6 
 7 @jit
 8 
 9 
10 def Bar(i):         #动态文本条
11 
12     N = pow(10,level)
13 
14     a = int((i/N)*50)
15 
16     b = 50 - a
17 
18     Y , N = * * a , . * b
19 
20     print("\r计算中:{:3.0f}% [{}->{}] {:.2f}s"
21 
22           .format(2*a,Y,N,perf_counter()),end=‘‘)
23 
24 while True:
25      
26 
27     level = eval(input(计算Pi精确到小数点后几位数(最后一位不精准):))
28 
29     print(\n{:=^70}.format(计算开始))
30 
31     a,b,pi,tmp = 1,1,0,1
32 
33     i = 0
34 
35     ‘‘‘
36 
37     a 分子  |  b 分母  |  pi 圆周率
38 
39     tmp 存储a/b的值    |  i  执行进度
40 
41     ‘‘‘
42 
43     perf_counter()      #开始计时
44 
45     while (fabs(tmp) >= pow(10,-level)): #计算Pi
46 
47         pi += tmp
48 
49         b += 2
50 
51         a = -a
52 
53         tmp = a/b
54 
55         i += 2
56 
57         Bar(i)          #调用函数,实时显示计算进度
58 
59      
60 
61     print(\n{:=^70}.format(计算完成))
62 
63     print(\nPi的计算值为:{}.format(round(pi*4,level))) #输出计算结果
64     print()
65     print()
66     print()
67     

因为太慢所有用了jit加速详情见:python可以提高程序执行速度N倍你知道吗? - _天枢 - 博客园

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!