在Python应用开发中,经常遇到获取随机数的场景,在安装random模块后,可以使用模块中的函数进行生成:

1.指定范围内生成随机整数:

使用 random 模块的 randint(m,n) 函数, 执行后随机返回一个数字 m<=x<=n ,这里是包含m和n的。

import random
random.randint(1, 9)
9
random.randint(1, 9)
8
random.randint(1, 9)
7
random.randint(1, 9)
6
random.randint(1, 9)
7

当然也可以使用该函数随机生成负数:
random.randint(-10,-1 )
-5
random.randint(-10,-1 )
-3
random.randint(-10,-1 )
-9

如果要随机生成任意一个12位数字,可以使用下面的命令:

>>> random.randint(10**11, 10**12 - 1)

426510979649

>>> random.randint(10**11, 10**12 - 1)

653861132036

>>> random.randint(10**11, 10**12 - 1)

285375591282

2.生成随机浮点数

使用函数 random.random 生成,范围为 0.0 <= n < 1.0
random.random()
0.04545814112930646

3.在指定范围内随机生成浮点数

使用 random.uniform(m,n) 生成一定范围内的随机浮点数 。当 m <= n 时 m <= x <= n ,否则 n <= x <= m,

也就是 random.uniform(1,10) 和 random.uniform(10,1) 是等效的。

random.uniform(10,1)
7.848411955240041
random.uniform(1,10)
5.207472464947979

4.在指定范围内随机生成带步长的整数

使用函数 random.randrange([start], stop[, step]) 返回一定范围内, 按照一定步长增长的集合中随机返回一个数值。 取值范围为:start <= x < stop
step 省略后,默认为1
start 省略后,默认为0

random.randrange(1,10,2)
7
random.randrange(1,5)
3
random.randrange(5)
3

可以看出 random.randrange(a, b+1) 和 random.randint(a, b) 是等效的

5.从序列中随机获取一个数字:

使用 random.choice(list),list里面的元素可以是数字也可以是字符:

random.choice([1, 2, 3, 5, 9])
9
random.choice([1, 2, 3, 5, 9])
5
random.choice(‘A String’)
‘i’
random.choice(‘A String’)
‘n’

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐