在Python中生成真正的随机数,可以使用`random`模块和`numpy`库。以下是两种方法:
使用`random`模块
`random.random()`: 生成0到1之间的随机浮点数。
`random.randint(a, b)`: 生成a到b之间的随机整数(包括a和b)。
`random.uniform(a, b)`: 生成a到b之间的随机浮点数。
`random.choice(seq)`: 从序列`seq`中随机选择一个元素。
`random.shuffle(seq)`: 将序列`seq`随机排序。
`secrets.randbelow(n)`: 生成0到n之间的随机整数(不包括n)。
使用`numpy`库
`np.random.rand(size)`: 生成包含`size`个随机浮点数的数组。
`np.random.randint(low, high, size)`: 生成包含`size`个随机整数的数组,整数范围在`low`到`high`之间。
`np.random.normal(mean, std_dev, size)`: 生成服从正态分布的随机数,均值为`mean`,标准差为`std_dev`,形状为`size`。
`np.random.uniform(low, high, size)`: 生成服从均匀分布的随机数,范围在`low`到`high`之间,形状为`size`。
设置随机种子
为了确保每次运行程序时生成的随机数序列是一致的,可以设置随机种子。
import random
random.seed(42) 使用42作为随机种子
示例代码
import random
生成随机整数
random_int = random.randint(1, 100)
print(f"随机整数: {random_int}")
生成随机浮点数
random_float = random.random()
print(f"随机浮点数: {random_float}")
从列表中随机选择一个元素
colors = ['red', 'blue', 'green', 'yellow']
random_color = random.choice(colors)
print(f"随机颜色: {random_color}")
设置随机种子
random.seed(42)
注意事项
`random`模块使用的是伪随机数生成器,对于需要真正随机数的应用,如密码学,可能需要使用`secrets`模块。
`numpy`库生成的随机数通常用于数值计算,对于需要真正随机数的应用,`secrets`模块是更好的选择。