python之random库

random库是使用随机数的一个python标准库。

random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。即使用前需要导入:import random

random库包含两类函数,常用的有8个:

  --基本随机函数:seed( ),random( )

  --扩展随机函数:randint( ),randrange( ),shuffle( ),uniform( ),choice( ),getrandbits( )

其它的几个函数用的不多。

基本随机数:

Python中产生随机数使用随机数种子来产生。(只要种子相同,产生的随机序列,无论是每一个数,还是数与数之间的关系都是确定的,所以随机数种子确定了随机序列的产生)。                             

 基本随机函数
函数 描述
seed(a=None)

初始化给定的随机数种子,默认为当前系统时间

>>>random.seed(10)     #产生种子10对应的序列

random()

生成一个[0.0,1.0)之间的随机小数n: 0<=n<1

>>> random.random()
0.5845462257019302
>>> random.random()
0.8440678976619022
>>> random.random()
0.1564189183874064

扩展随机数函数:

在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数。

扩展随机数函数
函数 描述
randint(a, b)

产生一个[a,b]间的整数n。a<=n<=b

>>> random.randint(10,20)
11
>>> random.randint(10,20)
20
>>> random.randint(10,20)
13
>>> random.randint(10,20)
14

uniform(a, b)

产生一个[a,b]之间的随机浮点数。区间可以不是整数

>>> random.uniform(1.1,5.5)
5.052063475972429
>>> random.uniform(1.1,5.5)
2.4832007418083832
>>> random.uniform(1.1,5.5)
3.5155216096545847
>>> random.uniform(1.1,5.5)
3.018536213546138

randrange(m, n, [,k])

生成一个[m,n)之间以k为步长的随机整数。

>>> random.randrange(10, 20, 2)
14
>>> random.randrange(10, 20, 3)
10

shuffle(seq)

序列相关

 将序列seq中元素随机排列,返回打乱后的序列。

>>> s = [1, 6, 7, 9, 5]
>>> random.shuffle(s)
>>> print(s)
[6, 9, 1, 7, 5]

choice(seq)

序列相关

 从序列中随机选择一个元素。

>>> random.choice([1,2,3,5,9])
1
>>> random.choice([1,2,3,5,9])
9
>>> random.choice([1,2,3,5,9])
5
>>> random.choice([1,2,3,5,9])
2

getrandbits(k)

 生成一个k比特长的随机整数。

>>> random.getrandbits(3)
4L
>>> random.getrandbits(3)
3L
>>> random.getrandbits(16)
21480L
>>> random.getrandbits(16)
4986L

猜你喜欢

转载自www.cnblogs.com/cpl9412290130/p/9695468.html