【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 模块提供的一些主要功能。根据你的需求,你可以选择适合你的函数来生成随机数或进行随机选择。

相关推荐
Flittly3 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(3)TodoWrite (待办写入)
python·agent
千寻girling7 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
databook11 小时前
探索视觉的边界:用 Manim 重现有趣的知觉错觉
python·动效
明月_清风12 小时前
Python 性能微观世界:列表推导式 vs for 循环
后端·python
明月_清风12 小时前
Python 性能翻身仗:从 O(n) 到 O(1) 的工程实践
后端·python
helloweilei1 天前
python 抽象基类
python
用户8356290780511 天前
Python 实现 PPT 转 HTML
后端·python
zone77391 天前
004:RAG 入门-LangChain读取PDF
后端·python·面试
zone77391 天前
005:RAG 入门-LangChain读取表格数据
后端·python·agent
树獭非懒2 天前
AI大模型小白手册|Embedding 与向量数据库
后端·python·llm