Python3之random库的使用

版权声明:大佬们转载时别忘了我哦!!! https://blog.csdn.net/sun9979/article/details/88785917

首先来说明一下,随机数是在各种复杂条件下产生的确定值,计算机无法产生真正的随机数,random库产生的是伪随机数,我们也常把伪随机数称为随机数。

1、random库概述
random库是使用随机数的Python标准库

  • 伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素
  • random库主要用于生成随机数
  • 使用random库:import random

2、random库中的常用函数(共8个)

  • 基本随机数函数:seed(),random()
  • 扩展随机数函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()

3、基本随机函数

随机数种子-------->梅森旋转算法--------->随机序列(确定的种子,产生的随机序列是不变的)

seed(a=None)	#初始化给定的随机数种子,默认为当前系统时间
random.seed(10)	#产生种子10对应的序列

random()	#生成一个[0.0,1.0]之间的随机小数
random.random()

>>> import random
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.random()
0.4288890546751146

>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.seed(10)
>>> random.random()
0.5714025946899135

如果我们要复现随机过程的话,一般seed的参数是要给的,而不能使用系统时间,系统时间精确到微秒。

4、扩展随机数函数

randint(a,b)	#生成一个[a,b]之间的整数
>>> random.randint(10,100)
64

randrange(m,n[,k])	#生成一个[m,n)之间以k为步长的随机整数
>>> random.randrange(10,100,10)
80

getrandbits(k)		#生成一个k比特长的随机整数
>>> random.getrandbits(16)
37885

uniform(a,b)		#生成一个[a,b]之间的随机小数
>>> random.uniform(10,100)
11.334920142209832				#python中浮点数的范围为小数点后面16choice(seq)		#从序列seq中随机选择一个元素
>>> random.choice([1,2,3,4,5,6,7,8,9])
8

shuffle(seq)	#将序列seq中元素随机排列,返回打乱后的序列
>>> s=[1,2,3,4,5,6,7,8,9];
>>> random.shuffle(s)
>>> print(s)
[3, 9, 7, 4, 1, 2, 6, 5, 8]

猜你喜欢

转载自blog.csdn.net/sun9979/article/details/88785917