Python123第四周下

4.4 模块:random库的使用
4.5 实例:圆周率计算

random库: random库是使用随机数的Python标准库(即自带的库);
伪随机数:采用梅森旋转算法生成的伪随机序列中元素;
random库主要用于生成随机数;import random
基本随机函数:seed(),random()
扩展随机函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle();

随机数的产生:
Python123第四周下_第1张图片
基本随机函数及其描述:
Python123第四周下_第2张图片
注意:若随机数种子不变,那么所获取的随机数序列不变,可以有效实现代码的可复现;
扩展随机数函数:
Python123第四周下_第3张图片
Python123第四周下_第4张图片

Python123第四周下_第5张图片
圆周率的计算
利用蒙特卡洛方法进行圆周率的计算:(工程学上的方法,非精确求解)
Python123第四周下_第6张图片

#蒙特卡罗方法计算圆周率
from random import random
from time import perf_counter

DARTS = 1000*1000 #撒点规模
hits = 0.0
start_time = perf_counter()
#使用range(DARTS)也可以,该处使用range(1,DARTS+1)应当是考虑其物理含义
for i in range(1,DARTS+1):
    x,y = random(),random()
    dist = pow(x**2+y**2,0.5)
    if dist <=1.0:
       # hits = hits+1
        hits += 1
pi = 4*(hits/DARTS)
end_time = perf_counter()
print("圆周率为:{}".format(pi))
print("计算时长:{:.5f}".format(end_time-start_time))

你可能感兴趣的:(Python123第四周下)