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

Posted Ctrl+c_Ctrl+v程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("\\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倍你知道吗? - _天枢 - 博客园

以上是关于python圆周率计算小程序(非常慢)的主要内容,如果未能解决你的问题,请参考以下文章

编写一个小程序计算圆周率π的值

Python——程序结构控制(模块3: random库的使用)(实例:身体质量指数BMI及圆周率的计算)

Python蒙特卡罗计算圆周率PI——Numpy性能优化

<程序编程> 计算上为啥会这样?

python第四周程序控制之循环,randow库,圆周率的计算

用python计算圆的面积?