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))