在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 randomrandom.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`模块是更好的选择。
