一、随机数
随机数是在一定范围内随机产生的数,并且得到这一范围内的每一个数的机会都一样大。它在统计学、计算机仿真学以及密码学中有着广阔的应用。
二、随机数的生成
在python中,通常使用random模块生成随机数,它即可以生成简单的随机数,还可以生成符合正态分布、三角分布等具有统计学规律的随机数。但是该库生成的随机数并不是真正意义上的随机数,而是伪随机数,即通过可靠的算法算出一组固定的数据,当需要取值时则从这组数据中根据条件进行取值,因此当条件满足时,该方法产生的“随机数”也可以是相同的。
下面我们就一起学习一下如何使用该模块生成简单随机数吧!
1、随机整数
random.randint(a, b)
该方法用于生成一个[a,b]区间内的整数。
random.randrange(start, stop=none, step=1)
该方法用于从以step为步距的范围为区间[start, stop)的等差数列中获取一个随机数。以start=1, stop=10, step=2为例,结果为从列表[1,3,5,7,9]中获取一个随机数。
注意,当参数值stop缺失时,返回值为区间[0,start)内的随机整数,此时即使设置了step值也没效果。
2、随机浮点数
random.random()
该方法用于生成一个[0,1)区间内的浮点数。
random.uniform(a, b)
该方法用于生成一个[a,b]或[b,a]区间内的浮点数。
3、从序列中随机选取元素
random.choice(seq)
该方法用于从序列seq中随机选取一个元素。序列seq可以是元组、列表、字符串。
random.shuffle(x)
该方法用于将列表x打乱。
random.sample(population, k)
该方法用于从序列population中随机选取k个元素组成一个新的列表。
4、生成相同的随机数
文章一开始我们就介绍了random生成的随机数是伪随机数,当条件满足时,该方法产生的“随机数”也可以是相同的。
这里我们说的条件满足指的就是seed值,我们可以把它理解为从数据组取值的初始位置,该值通常不需要设置,系统会根据当前时间自动生成一个,但是当我们想要生成一个或者一组固定的随机值时,则需要通过random.seed(int)方法进行设置。