def calculatePI1(): #模拟统计法:蒙特卡罗方法计算圆周率
import random as r #导入random模块命名为r
import math as m #导入math模块命名为m
import time as t #导入time模块命名为t
darts = int(input("Please input darts numbers:")) #选择投掷次数,控制计算精度,darts越大越精确
hits = 0 #初始记投掷在圆内次数为0
#t.clock() #调用time模块中的clock()函数,计时开始
star_time = t.time() #开始时间
for i in range(darts): #若要取1/4圆简化计算通过下行random()实现,取全圆计算则通过下下行uniform()实现
#x,y=r.random(),r.random() #random()产生[0,1)之间的随机小数,则规定边长为1的正方形,内切圆圆心为(0.5,0.5)半径为0.5,坐标大小范围为(0,1)
x, y = r.uniform(-1, 1), r.uniform(-1, 1) #uniform(a,b)产生[a,b]之间的随机小数,则规定边长为2的正方形,则内切圆圆心为(0,0),半径为1,坐标大小范围为(-1,1)
python计算圆周率(蒙特卡洛法/模拟法、统计法/穷举法、BBP公式)
最新推荐文章于 2024-04-18 08:40:47 发布