一.random
1.生成伪随机数
2.伪随机数是可预测的,严格意义上不具有随机性质,通常用数学公式的方法(比如统计分布,平方取中等)获得
3.正如数列需要有首项,产生伪随机数需要一个初值用来计算整个序列,这个初值被称为“种子”。种子可以是一个固定的值,也可以是根据当前系统状态确定的值。
4.https://docs.python.org/3.5/library/random.html?highlight=random#module-random
二.random方法
1.seed([]):改变随机数生成器的种子seed

1 #seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。。 2 random.seed() 3 print ("使用默认种子生成随机数:", random.random())#变化 4 random.seed(10) 5 print ("使用整数种子生成随机数:", random.random())#不变 6 random.seed("hello",2) 7 print ("使用字符串种子生成随机数:", random.random())#不变 8 9 ---------------------------------------------------------------- 10 使用默认种子生成随机数: 0.8182785911795667 11 使用整数种子生成随机数: 0.5714025946899135 12 使用字符串种子生成随机数: 0.3537754404730722
2.getrandbits()返回一个具有k个 随机位的Python整数

1 #getrandbits返回一个具有k个 随机位的Python整数 2 #输入8=2*3,返回一个最多3个数字组成的整数 3 print(random.getrandbits(8)) 4 ------------------------------------ 5 248
3.生成单个随机整数
(1)randrange():从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1;[ )

1 #randrange(start, stop[, step]) 2 print(random.randrange(100))# 从 [ 0,100) 选取一个随机数 3 print(random.randrange(1, 100, 2))# 从 [1,100) 中选取一个奇数 4 ------------------------------------------------------------------------ 5 63 6 91
(2)randint(x,y):随机生一个整数int类型,可以指定这个整数的范围;[ ]

1 #randint(x,y) 2 print(random.randint(1000,1838))#从【1000,1838】中选一个整数 3 --------------------------------------- 4 1410
4.序列的相关随机函数
(1)choice() :从非空序列的元素中随机挑选一个元素

1 #choice()方法返回一个列表,元组或字符串的随机项。 2 print(random.choice([1,5,6,7,8,8,7])) 3 print(random.choice('asadad ')) 4 ----------------------------------------------- 5 5 6 a
(2)shuffle():将序列的所有元素随机排序

1 #shuffle()方法将序列的所有元素随机排序。 2 list=[20,15,38,22,7] 3 random.shuffle(list) 4 print(list) 5 ------------------------------- 6 [15, 22, 38, 20, 7]
(3)sample(sequence,length) 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。选取指定数量的字符

1 #random.sample(sequence, k)从指定序列中随机获取指定长度的片断 2 list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 3 slice = random.sample(list, 5) # 从list中随机获取5个元素,作为一个片断返回 4 print(slice) 5 print(list) # 原有序列并没有改变 6 ------------------------------------------- 7 ['3', 'b', 'a', '4']
5.生成随机浮点数
(1)random():随机生成下一个浮点数,它在【0.0 , 1.0)范围内

1 #random()方法返回随机生成的一个浮点数,它在[0,1)范围内。 2 print(random.random()) 3 ------------------------------------------------ 4 0.7479187105035808
(2)uniform(x,y):随机生成下一个浮点数,它在 [x,y] 范围内

1 #uniform() 方法将随机生成下一个浮点数,它在[x,y]范围内, 2 print(random.uniform(5, 10)) 3 ----------------------------------------------、 4 7.122212601550471
(3)其他,根据特定分布(比如正太分布,指数分布等)生成一个随机浮点数