random 随机函数的使用
需要掌握的能力
- 能够使用随机种子产生“确定”的随机数
- 能够产生随机整数
- 能够序列列表进行操作
一能够使用随机种子产生“确定”的随机数
给定随机数种子函数为random.seed()函数,当给定随机数种子时,产生的是一个随机数序列,在这个种子下随机数序列也是确定的。
import random
In [2]: random.seed(10)
In [3]: random.random()
Out[3]: 0.5714025946899135
In [4]: random.random()
Out[4]: 0.4288890546751146
In [8]: random.seed(10)
In [9]: random.random()
Out[9]: 0.5714025946899135
In [10]: random.seed(10)
In [11]: random.random()
Out[11]: 0.5714025946899135
一般情况下不设顶随机数种子时,默认是使用系统时间作为随机数种子
二 产生随机整数
产生整数有几个函数random.randint(a,b)
产生a到b之间的随机整数,random.randrange(a,b,k)
产生a到b之间的以k为步长的整数。
random.randrange(10,100,5)
Out[12]: 75
In [13]: random.randrange(10,100,5)
Out[13]: 85
In [14]: random.randrange(10,100,5)
Out[14]: 10
产生随机小数
random.uniform(a,b)
产生a到b之间的随机小数。
In [15]: random.uniform(10,20)
Out[15]: 12.060982321395016
In [16]: random.uniform(10,20)
Out[16]: 18.1332125135732
三 对序列进行操作
主要有两个函数random.choice([])
从序列中随机挑选一个,random.shuffle([])
对序列进行随机排序并返回。
In [17]: random.choice([1,2,3,5,9,8,10])
Out[17]: 10
In [18]: random.choice([1,2,3,5,9,8,10])
Out[18]: 3
In [20]: s = [1,2,3,5,6,8,9,4]
In [21]: random.shuffle(s)
In [22]: print(s)
[2, 8, 9, 4, 5, 6, 1, 3]
random.sample()
函数
random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
In [24]: lii = random.sample(s,3)
In [25]: print(lii)
[6, 2, 4]
In [26]: print(s)
[2, 8, 9, 4, 5, 6, 1, 3]