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

源码:

 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("
计算中:{: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('
{:=^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('
{:=^70}'.format('计算完成'))
62 
63     print('
Pi的计算值为:{}'.format(round(pi*4,level))) #输出计算结果
64     print()
65     print()
66     print()
67     

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

原文地址:https://www.cnblogs.com/Ctrl-cCtrl-v/p/12350147.html