random库 随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
random库是 使用随机数的python标准库
伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素
random库主要用于生成随机数
使用random库:
import random
dir(random)
[‘BPF’, ‘LOG4’, ‘NV_MAGICCONST’, ‘RECIP_BPF’, ‘Random’, ‘SG_MAGICCONST’, ‘SystemRandom’, ‘TWOPI’, ‘_BuiltinMethodType’, ‘_MethodType’, ‘_Sequence’, ‘_Set’, ‘all’, ‘builtins’, ‘cached’, ‘doc’, ‘file’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘_acos’, ‘_bisect’, ‘_ceil’, ‘_cos’, ‘_e’, ‘_exp’, ‘_inst’, ‘_itertools’, ‘_log’, ‘_os’, ‘_pi’, ‘_random’, ‘_sha512’, ‘_sin’, ‘_sqrt’, ‘_test’, ‘_test_generator’, ‘_urandom’, ‘_warn’, ‘betavariate’, ‘choice’, ‘choices’, ‘expovariate’, ‘gammavariate’, ‘gauss’, ‘getrandbits’, ‘getstate’, ‘lognormvariate’, ‘normalvariate’, ‘paretovariate’, ‘randint’, ‘random’, ‘randrange’, ‘sample’, ‘seed’, ‘setstate’, ‘shuffle’, ‘triangular’, ‘uniform’, ‘vonmisesvariate’, ‘weibullvariate’]
random库包括两类函数,常用的8个
基本随机函数:
random.seed(10) #产生种子10对应的序列
random.random()
0.4761436510894117
random.seed(10)
random.random()
0.5714025946899135
random.random()
0.4288890546751146
random.random()
0.5780913011344704
random.seed(10)
random.random()
0.5714025946899135
random.random()
0.4288890546751146
random.random()
0.5780913011344704
扩展随机函数
random.choice(range(20))
3
a=[1,5,8,9,6,3,4,5,6]
a
[1, 5, 8, 9, 6, 3, 4, 5, 6]
random.choice(a)
6
random.randrange(10,100,10)
20
random.randrange(10,100,2)
18
a=[1,5,8,9,6,3,4,5,6]
a
[1, 5, 8, 9, 6, 3, 4, 5, 6]
random.shuffle(a)
a
[9, 6, 4, 8, 3, 5, 6, 5, 1]
random.uniform(1,20)
7.944030163628453
random.uniform(1,20)
18.03890529185077
random.randint(10,60)
23
random.getrandbits(8)
72
random.getrandbits(16)
59552
优秀博文推荐:
https://blog.csdn.net/sandalphon4869/article/details/89680906