Python 伪随机:random
Python 伪随机:random
和之前介绍的time一样是Python自带的模块,作用就是产生随机数
引用方法
import random
基本随机函数
随机数种子seed
:初始化给定随机数种子,默认为当前系统时间
>>>random.seed(10)
生成随机小数random
:生成[0.0,1.0]之间的随机小数
>>>random.random()
0.5714025946899135
随机小数的产生是与种子有关的,计算机无法生成正在的随机数,所生成的数是由梅森旋转算法产生的随机数列,都是伪随机数
即只有种子相同,所生成的数和生成和每个数时间的关系是相同的。
如当我们以10位种子数时,所生成的随机小数一点是0.5714025946899135
第二个数一定是0.4288890546751146
若我们知道是由的随机数的种子觉可以根据种子回推所产生的随机数。
拓展随机函数
随机整数randint(a,b)
:生成[a,b]间的随机一个整数
import random
for i in range(10):
print(random.randimt(0,5)) #生成0—5之间的随机数
随机整数randrange(m,n[,k])
:生成[m,n)直接步长为k的整数
>>>random.randrange(10,100,10)
80
随机整数:getrandbits(k)
:生成k比特长的随机整数
>>>random.getrandbits(16)
26464
随机小数:uniform(a,b)
:生成[a,b]间的随机小数
>>>random.uniform(10,100)
76.92776914577477
随机序列choic(seq)
:在序列seq中随机挑选一个元素
>>>random.choic(["剪刀","石头","布"]) #随机剪刀石头布
>>>random.choice("abcdefghijklmnopqrstuvwxyz!@#$%^&*") #随机字符
随机打乱shuffle(seq)
:将原序列seq中的元素打乱
>>> s=[1,2,3,4,5,6,7,8,9,10]
>>> random.shuffle(s)
>>> s
[4, 2, 3, 9, 6, 5, 10, 8, 7, 1]
随机截取指定长sample(seq,k)
:截取序列seq中长度为k的元素
>>> s=[1,2,3,4,5,6,7,8,9,10]
>>> random.sample(s,3)
[8, 3, 6]