计算π值采用蒙特卡洛方法,即随机抽样方法。
构造单位正方形和四分之一圆,向其中任意抛洒点,再用圆中的点数除以总点数,即可得到π值。
I:抛洒点的数量
P:对每个抛洒点,计算点到圆心的距离,判断在圆内还是圆外,并统计在圆内点的数量
O:π值
from random import random
from math import sqrt
from time import clock
DARTS=12000000
hits=0
clock()
for i in range(1,DARTS):
x,y=random(),random()
dist=sqrt(x**2+y**2)
if dist <= 1.0:
hits=hits+1
pi = 4*(hits/DARTS)
print(pi)
print("运行时间为%-5.5ss"%clock())