Python 伪随机数:random库的使用

AI-摘要
小嗷犬 GPT
本文介绍了 Python 中 random 库的常用函数,包括初始化随机数种子、生成随机小数、整数、随机整数、随机整数范围、随机小数、从序列中随机选择元素、打乱序列和从序列中随机选择 k 个元素等。同时,还介绍了如何利用蒙特卡罗方法计算圆周率的值。
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
这篇文章距离上次更新已经过去了 855 天,其中的某些内容可能不再适用了,请谨慎阅读。
Python 伪随机数:random库的使用
小嗷犬常用函数
使用random库主要目的是生成随机数,因此,只需要查阅该库的随机数生成函数,找到符合使用场景的函数使用即可。这个库提供了不同类型的随机数函数,所有函数都是基于最基本的random.random()函数扩展而来。
random库中的常用函数如下:
| 函数 | 描述 |
|---|---|
| seed(a=None) | 初始化随机数种子,默认值为当前系统时间 |
| random() | 生成一个[0.0,1.0)之间的随机小数 |
| randint(a, b) | 生成一个[a,b]之间的整数 |
| getrandbits(k) | 生成一个k比特长度的随机整数 |
| randrange(start,stop[, step]) | 生成一个[start, stop)之间以step为步数的随机整数 |
| uniform(a, b) | 生成一个[a, b]之间的随机小数 |
| choice(seq) | 从序列类型(例如:列表)中随机返回一个元素 |
| shuffle(seq) | 将序列类型中元素随机排列,返回打乱后的序列 |
| sample(pop,k) | 从pop类型中随机选取k个元素,以列表类型返回 |
生成随机数之前可以通过seed()函数指定随机数种子,随机种子一般是一个整数,只要种子相同,每次生成的随机数序列也相同。这种情况便于测试和同步数据。
random库的应用:圆周率的计算
(圆周率)是一个无理数,即无限不循环小数。精确求解圆周率 是几何学、物理学和很多工程学科的关键。
对 的精确求解曾经是数学历史上一直难以解决的问题之一,因为 无法用任何精确公式表示,在电子计算机出现以前, 只能通过一些近似公式的求解得到,直到 1948 年,人类才以人工计算方式得到 的 808 位精确小数。
随着计算机的出现,数学家找到了另类求解π的另类方法:蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法。当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。
应用蒙特卡罗方法求解 的基本步骤如下:
- 随机向单位正方形和圆结构,抛洒大量“飞镖”点
- 计算每个点到圆心的距离从而判断该点在圆内或者圆外
- 用圆内的点数除以总点数就是/4值。
随机点数量越大,越充分覆盖整个图形,计算得到的 值越精确。实际上,这个方法的思想是利用离散点值表示图形的面积,通过面积比例来求解值。

利用 蒙特卡罗(Monte Carlo)方法 计算圆周率 的值:
python
1 | |
随着抛洒飞镖的数量的增加,计算出的圆周率值也更加精确。

























