2019-03-25

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]

你可能感兴趣的