标准库random
伪随机数,不是真正的随机数
采用梅森旋转算法生成(伪)随机序列
random库共有两类,八个函数:
基本随机数函数: seed(),random()
扩展随机数函数: randit(),getrandbits(),uniform(),randrange(), choice(),shuffle()
基本随机数函数:
随机数种子:seed(10)
—>算法—>产生唯一确定伪随机数列
当随机数种子相同,产生的随机数列相同,
seed(10)
的第一个是0.571***
seed(10)
random.random() ===0.571***
若不指定随机数种子,默认种子为当前系统时间(精确到微秒,几乎不可再现)
random()
:产生一个[0.0,1.0]之间的随机数,种子为当前系统时间
扩展随机数函数:
使用:
randint(a,b)
random.randint(2,22)
#产生一个a到b的随机整数
randrange(m,n[,k])
random.randrange(22,100[,10])
#产生以k为步长的m到n之间的数
getrandbits(k)
#生成一个k比特长的随机整数
uniform(a,b)
#生成一个a,b之间的随机小数
choice(seq)
#从序列seq中随机选择一个元素
shuffle(seq)
#将序列seq的元素随机打乱并返回打乱后的序列