Python 的 random
模块提供了生成伪随机数的功能。这些随机数实际上是由一个确定性的算法生成的,因此被称为伪随机数。random
模块提供了许多用于生成不同类型随机数的函数。
以下是 random
模块中一些常用函数的介绍:
random.random()
生成一个范围在 之间的随机浮点数。[0.0, 1.0)
import random
print(random.random()) # 例如,输出: 0.5488135039273248
random.randint(a, b)
生成一个范围在 [a, b]
之间的随机整数。
import random
print(random.randint(1, 10)) # 例如,输出: 7
start
(可选):范围的起点。如果省略,则默认为 0。stop
:范围的端点。生成的数字将小于此值。step
(可选):范围内元素之间的步长。如果省略,则默认为 1。以下是一些示例:
import random
# Generate a random number between 0 and 9
random_number = random.randrange(10)
print(random_number)
# Generate a random number between 1 and 10 with a step of 2
random_number_step = random.randrange(1, 11, 2)
print(random_number_step)
a
:范围的最小值(含)。b
:范围的最大值(含)。下面是一个示例:
import random
# Generate a random floating-point number between 1.5 and 3.5
random_number = random.uniform(1.5, 3.5)
print(random_number)
这将生成一个介于 1.5(含)和 3.5(含)之间的随机浮点数。a和 b都可以是浮点数,生成的随机数也将是浮点数,均匀分布在指定范围内。
random.choice(seq)
从序列 seq
中随机选择一个元素。
import random
my_list = [1, 2, 3, 4, 5]
print(random.choice(my_list)) # 例如,输出: 3
random.shuffle(x)
随机打乱序列 x
的顺序。
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list) # 例如,输出: [4, 2, 1, 5, 3]
random.seed(seed)
设置随机数生成器的种子,以便产生可重现的随机数序列。以下是一个简单的示例,演示了如何使用random.seed()
来生成相同的随机数序列:
import random
# 设置种子为 10
random.seed(10)
# 生成一些随机数
print(random.random()) # 输出: 0.5714025946899135
print(random.random()) # 输出: 0.4288890546751146
# 再次设置种子为 10
random.seed(10)
# 生成相同的随机数序列
print(random.random()) # 输出: 0.5714025946899135
print(random.random()) # 输出: 0.4288890546751146
这只是 random
模块提供的一小部分功能。该模块还包括其他生成随机数的函数,如高斯分布、指数分布等。可以查阅 Python 官方文档以获取更详细的信息:random — Generate pseudo-random numbers。