用python计算圆周率PI
代码如下:
1 import math 2 import time 3 scale=10 4 print("执行开始") 5 t=time.process_time() 6 for i in range(scale+1): 7 a,b='**'*i,'..'*(scale-i) 8 c=(i/scale)*100 9 π=4*(4*math.atan(1/5)-math.atan(1/239)) 10 print("%{:3}[{}->{}]".format(a,b,c)) 11 time.sleep(0.1) 12 print(π) 13 print("{:.2f}s".format(t)) 14 print("执行结束")
运行结果如下图片:
算法说明:
一个正方形内部相切一个圆,圆和正方形的面积之比是π/4。
在这个正方形内部,随机产生n个点(这些点服从均匀分布),计算它们与中心点的距离是否大于圆的半径,以此判断是否落在圆的内部。
统计圆内的点数,与n的比值乘以4,就是π的值。理论上,n越大,计算的π值越准。