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

相关推荐
Auc248 分钟前
OJ判题系统第6期之判题逻辑开发——设计思路、实现步骤、代码实现(策略模式)
java·开发语言·docker·容器·策略模式
向日葵xyz14 分钟前
Qt5与现代OpenGL学习(十一)OpenGL Widget鼠标控制直线旋转
开发语言·qt·学习
智慧地球(AI·Earth)17 分钟前
OpenAI for Countries:全球AI基础设施的“技术基建革命”
开发语言·人工智能·php
不学无术の码农21 分钟前
《Effective Python》第1章 Pythonic 思维总结——编写优雅、高效的 Python 代码
开发语言·python
zhou18522 分钟前
MySQL保姆级安装教程(附资源包+5分钟极速配置+环境变量调试技巧)
java·python·mysql·php
lczdyx1 小时前
PNG转ico图标(支持圆角矩形/方形+透明背景)Python脚本 - 随笔
图像处理·python
双叶8361 小时前
(C语言)超市管理系统(测试版)(指针)(数据结构)(二进制文件读写)
c语言·开发语言·数据结构·c++
PXM的算法星球1 小时前
使用CAS操作实现乐观锁的完整指南
开发语言
TDengine (老段)1 小时前
基于 TSBS 标准数据集下 TimescaleDB、InfluxDB 与 TDengine 性能对比测试报告
java·大数据·开发语言·数据库·时序数据库·tdengine·iotdb
lgily-12251 小时前
常用的设计模式详解
java·后端·python·设计模式