random库包括两个类型
基本随机数函数: seed() , random()
拓展随机数函数:randint() , getrandebits() , uniform() , randrange() , choice() , shuffle()
- 基本随机数函数
random() 表示生成一个[0.0,1.0]之间的随机小数
>>> import random
print(random.random())
结果:
0.6654823139018711
seed(a = None) 表示初始化给定的随机种子,默认为当前系统时间
(我的理解是代码中有seed()函数可以使random()生成的随机数固定不变,即随机数不会随着random()的执行而改变)。代码解释:
>>> import random
random.seed(0)
for i in range(3):
print(random.random())
结果: # 以你当前数值为准,这里仅供参考
0.8444218515250481
0.7579544029403025
0.420571580830845
"""反复调用这一段代码,输出的结果随机数都不会改变.
如果没有seed()则生成其他的随机数,与先前的不一致."""
2.拓展随机数函数
randint(a,b) 表示一个[a,b]之间的整数.
>>> import random
for i in range(3):
print(random.randint(10,100),end=" ")
结果:
88 66 31
randrange(m,n[,k]) 表示生成一个[m,n]之间以k为步长的随机整数
>>> import random
for i in range(3):
print(random.randrange(10,100,5),end=" ")
结果:
15 35 40
getrabdbits(k) 表示生成一个k比特长的随机整数
>>> import random
print(random.getrandbits(16))
结果:
61139
uniform(a,b) 表示生成一个[a,b]之间的随机小数
>>> import random
print(random.uniform(20,40))
结果:
23.217641832828562
choice(seq) 表示从序列seq中随机选择一个元素
>>> import random
print(random.choice("wobeijujuele"))
print(random.choice(["wo","bei","ju","jue","le"]))
结果:
w
le
shuffle(seq) 表示将序列seq中元素随机排序,返回打乱后的序列
>>> import random
a = [2,5,8,7,6,1,3]
random.shuffle(a)
print(a)
结果:
[1, 6, 8, 2, 5, 3, 7]