Random庫的使用
導入庫
import random
基礎隨機函數
random.seed(a=None) #生成一個隨機種子
random.random() #生成一個[0.0,1.0)的隨機小數
擴展隨機數函數
randint(a,b) #生成一個[a,b]之間的整數
randrange(m,n[,k]) #生成一個[m,n)之間以k爲步長的隨機整數
getrandbits(k) #生成一個k比特長的隨機整數
uniform(a,b) #生成一個[a,b]之間的隨機小數
choice(seq) #從序列seq中隨機選擇一個元素
shuffle(seq) #序列seq中元素隨機排列,返回打亂後的序列
實例:圓周率的計算
#蒙特卡羅方法計算圓周率
#圓周率是 圓的面積除以正方形的面積的4倍
#向正方形內的圓隨機撒點,
#圓內的點的個數 / 總點數就是圓餘正方形面積比值
import random
import time
DARTS = 1000*1000 #撒一百萬個點
hits = 0.0 #在圓內部點的個數
start = time.perf_counter()
for i in range(1,DARTS+1):
x,y = random.random(),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(time.perf_counter()-start))