python產生10000個隨機點計算圓周率?
蒙特卡洛法求圓周率,通過多次撒點,模擬概率,求面積,而是否在圓內,可以通過到圓心的距離求解,利用計算機的運算速度,可以很快求出圓周率。撒點次數越多,圓周率就越準確。代碼如下:
from random import random
from math import sqrt
from time import process_time
DARTS=10000
hits=0.0
process_time()
for i in range(1,DARTS+1):
x,y=random(),random()
dist=sqrt(x**2+y**2)
if(dist<=1.0):
hits=hits+1
pi=4*(hits/DARTS)
print("PI值是{}.".format(pi))
print("運行時間是:{:.5f}s".format(process_time()))
上一篇勝為光纖收發器說明書