random库是产生随机数的python标准库,包括基本随机数函数和扩展随机数函数。
1、基本随机数函数有:
1)seed(a=None),初始化给定的随机种子,默认为当前系统时间。通过seed()函数生成的随机数是假的随机数,也成为稳定随机数,是指返回的随机数是一个稳定算法所得出的稳定结果序列,若种子相同,后续所有的随机数都一样。
2)random()生成一个[0.0,1.0)之间的随机小数
import random
random.seed(10)
s=random.random()
random.seed(10)
ss=random.random()
print (s,ss)
结果为:0.5714025946899135 0.5714025946899135
import random
random.seed()
s=random.random()
random.seed()
ss=random.random()
random.seed()
sss=random.random()
print (s,ss,sss)
结果为:0.5450604916075642 0.5423060037230498 0.7407846049645351
以上两个例子,后者看起来更像随机数。
2.扩展随机数函数
1)randint(a,b)生成[a,b]之间的整数
2)randrange(a,b[,k])生成一个[a,b)之间以k为步长的随机整数
3)getrandbits(k)生成k比特长的随机整数
4)uniform()生成[a,b]之间的随机小数
5)choice(s)从序列s中随机选择一个元素
6)shuffle(s)将序列s重新排列,返回打乱后的序列,即给列表洗牌
import random
a=random.randint(0,1)#这里只有两种可能,非0即1
b=random.randrange(12,18,3)
c=random.getrandbits(2)
d=random.uniform(0,1)#在这里,和random()效果接近
s = [20, 16, 10, 5];
e=random.choice(s)
random.shuffle(s)#切记,shuffle的用法,直接输出s,不能赋给另外一个值,否则输出为None
print (a,b,c,d,e,s)
结果如下:
1 15 1 0.32225917308306584 16 [20, 5, 16, 10]