欢迎访问宙启技术站
智能推送

Python生成随机数函数

发布时间:2023-09-25 21:10:03

Python生成随机数是很常用的功能,Python提供了多种生成随机数的函数和库。下面将介绍一些常用的函数和库,以及它们的用法。

1. random库

random库是Python内置的用于生成随机数的库。它提供了多种生成随机数的函数,包括生成随机整数、生成随机浮点数、生成随机序列等。

(1)生成随机整数

random.randint()函数可以生成指定范围内的随机整数。例如,生成1到10之间的随机整数:

import random

num = random.randint(1, 10)

print(num)

(2)生成随机浮点数

random.uniform()函数可以生成指定范围内的随机浮点数。例如,生成0到1之间的随机浮点数:

import random

num = random.uniform(0, 1)

print(num)

(3)生成随机序列

random.shuffle()函数可以随机打乱一个序列。例如,打乱一个列表的顺序:

import random

lst = [1, 2, 3, 4, 5]

random.shuffle(lst)

print(lst)

2. numpy库

numpy库是Python科学计算的核心库,它也提供了生成随机数的函数。numpy的随机数生成函数具有更高的效率和更多的功能。

(1)生成随机整数

numpy.random.randint()函数可以生成指定范围内的随机整数。例如,生成1到10之间的随机整数:

import numpy as np

num = np.random.randint(1, 10)

print(num)

(2)生成随机浮点数

numpy.random.uniform()函数可以生成指定范围内的随机浮点数。例如,生成0到1之间的随机浮点数:

import numpy as np

num = np.random.uniform(0, 1)

print(num)

(3)生成随机序列

numpy.random.shuffle()函数可以随机打乱一个序列。例如,打乱一个列表的顺序:

import numpy as np

lst = [1, 2, 3, 4, 5]

np.random.shuffle(lst)

print(lst)

3. secrets库

secrets库是Python 3.6之后新增的库,用于生成加密安全的随机数。secrets库提供了生成随机数的函数,具有更高的安全性。

(1)生成随机整数

secrets.randbelow()函数可以生成指定范围内的随机整数。例如,生成1到10之间的随机整数:

import secrets

num = secrets.randbelow(10) + 1

print(num)

(2)生成随机浮点数

secrets.randbelow()函数不能直接生成随机浮点数,但可以生成随机整数后再进行转换。

import secrets

num = secrets.randbelow(100) / 100

print(num)

(3)生成随机序列

secrets库没有提供直接生成随机序列的函数,但可以使用random库或numpy库的函数生成随机序列。

以上是Python生成随机数的一些常用函数和库,可以根据实际需求选择适合的方式。需要注意的是,生成的随机数不是真正的随机数,而是伪随机数,是由一个固定的算法根据一个种子生成的。如果需要更高安全性的随机数,可以使用secrets库。