Python经典案例:圆周率的计算

圆周率的近似计算公式:
在这里插入图片描述
上代码:

#CalPiV1.py 
pi = 0 
N = 100 
for k in range(N) : 
	pi += 1/pow(16,k)*( 4/(8*k+1)2/(8*k+4) - 1/(8*k+5)1/(8*k+6))
print("圆周率值是: {}".format(pi))

上面是通过计算式,下面我们通过计算思维来解决:
在这里插入图片描述

#CalPiV2.py 
from random import random 
from time import perf_counter 
DARTS = 1000*1000 
hits = 0.0 
start = perf_counter() 
for i in range(1, DARTS+1): 
	x, y = random(), random() 
	dist = pow(x ** 2 + y ** 2, 0.5) 
	if dist <= 1.0: 
		hits = hits + 1
pi = 4 * (hits/DARTS) print("圆周率值是: {}".format(pi)) print("运行时间{:.5f}s".format(perf_counter()-start))

上面的代码是通过概率的角度来计算圆周率的。

发布了24 篇原创文章 · 获赞 1 · 访问量 1099

猜你喜欢

转载自blog.csdn.net/qq_45627679/article/details/104445373