【python如何使用随机模块】

当然可以!Python 的 random 模块提供了生成随机数的函数。以下是如何使用 random 模块的一些基本示例和说明:

导入模块

首先,你需要导入 random 模块:

python 复制代码
import random

生成随机整数

  • random.randint(a, b):返回范围在 [a, b] 内的一个随机整数,包括 ab
python 复制代码
random_int = random.randint(1, 10)  # 生成1到10之间的随机整数
print(random_int)
  • random.randrange(start, stop[, step]):返回范围在 [start, stop) 内的一个随机整数,步长为 step。如果不指定 step,则默认步长为 1。
python 复制代码
random_range = random.randrange(0, 100, 5)  # 生成0到95之间(包含0,不包含100)的随机整数,步长为5
print(random_range)

生成随机浮点数

  • random.uniform(a, b):返回范围在 [a, b] 内的一个随机浮点数。
python 复制代码
random_float = random.uniform(1.0, 10.0)  # 生成1.0到10.0之间的随机浮点数
print(random_float)

从序列中随机选择

  • random.choice(seq):从非空序列 seq 中随机选择一个元素。
python 复制代码
colors = ['red', 'green', 'blue', 'yellow']
random_color = random.choice(colors)  # 从列表中随机选择一个颜色
print(random_color)
  • random.choices(population, weights=None, *, cum_weights=None, k=1, p=None):从 population 序列中随机选择 k 个元素,可以指定每个元素的权重 weights
python 复制代码
fruits = ['apple', 'banana', 'cherry']
weights = [10, 1, 1]  # apple 被选中的概率更高
random_fruits = random.choices(fruits, weights=weights, k=3)  # 从列表中随机选择3个水果,根据权重
print(random_fruits)

生成随机样本

  • random.sample(population, k):返回从总体序列或集合 population 中随机选取的 k 个不重复的元素。
python 复制代码
numbers = list(range(1, 11))
random_sample = random.sample(numbers, 3)  # 从列表中随机选择3个不重复的数字
print(random_sample)

打乱序列

  • random.shuffle(x[, random]):就地打乱列表 x 的元素。
python 复制代码
deck = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
random.shuffle(deck)  # 打乱列表中的元素顺序
print(deck)

生成随机值

  • random.random():返回 [0.0, 1.0) 范围内的随机浮点数。
python 复制代码
random_value = random.random()  # 生成0.0到1.0之间的随机浮点数
print(random_value)
  • random.gauss(mu, sigma):返回符合高斯分布的随机浮点数,mu 是均值,sigma 是标准差。
python 复制代码
random_gauss = random.gauss(0, 1)  # 生成符合均值为0,标准差为1的高斯分布的随机浮点数
print(random_gauss)
  • random.expovariate(lambd):返回符合指数分布的随机浮点数,lambd 是 1/λ,其中 λ 是速率参数。
python 复制代码
random_expo = random.expovariate(1.0)  # 生成符合速率为1.0的指数分布的随机浮点数
print(random_expo)
  • random.gammavariate(alpha, beta):返回符合伽马分布的随机浮点数,alpha 是形状参数,beta 是尺度参数。
python 复制代码
random_gamma = random.gammavariate(2.0, 1.0)  # 生成符合形状参数为2.0,尺度参数为1.0的伽马分布的随机浮点数
print(random_gamma)
  • random.triangular(low, high, mode):返回一个符合三角分布的随机浮点数,low 是下限,high 是上限,mode 是众数。
python 复制代码
random_triangular = random.triangular(1, 10, 5)  # 生成符合下限为1,上限为10,众数为5的三角分布的随机浮点数
print(random_triangular)
  • random.betavariate(alpha, beta):返回一个符合贝塔分布的随机浮点数,alphabeta 是形状参数。
python 复制代码
random_beta = random.betavariate(1.0, 1.0)  # 生成符合形状参数为1.0, 1.0的贝塔分布的随机浮点数
print(random_beta)
  • random.paretovariate(alpha):返回一个符合帕累托分布的随机浮点数,alpha 是形状参数。
python 复制代码
random_pareto = random.paretovariate(5.0)  # 生成符合形状参数为5.0的帕累托分布的随机浮点数
print(random_pareto)
  • random.weibullvariate(alpha, beta):返回一个符合威布尔分布的随机浮点数,alpha 是形状参数,beta 是尺度参数。
python 复制代码
random_weibull = random.weibullvariate(1.0, 2.0)  # 生成符合形状参数为1.0,尺度参数为2.0的威布尔分布的随机浮点数
print(random_weibull)

这些是 random 模块提供的一些主要功能。根据你的需求,你可以选择适合你的函数来生成随机数或进行随机选择。

相关推荐
数据智能老司机5 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机6 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机6 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机6 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i6 小时前
drf初步梳理
python·django
每日AI新事件6 小时前
python的异步函数
python
这里有鱼汤7 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook16 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室17 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三18 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试