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

相关推荐
程序员miki5 分钟前
训练yolo11检测模型经验流程
python·yolo
Ulyanov12 分钟前
Impress.js 3D立方体旋转个人年终总结设计与实现
开发语言·前端·javascript·3d·gui开发
jllllyuz13 分钟前
室外可见光通信信道建模与MATLAB实现(直射链路与反射链路)
开发语言·matlab
榴莲不好吃13 分钟前
前端js图片压缩
开发语言·前端·javascript
夏了茶糜19 分钟前
Python中生成器表达式(generator expression)和列表推导式(list comprehension)的区别
python·列表推导式·生成器表达式
散峰而望21 分钟前
【数据结构】假如数据排排坐:顺序表的秩序世界
java·c语言·开发语言·数据结构·c++·算法·github
superman超哥22 分钟前
自定义序列化逻辑:掌控数据编码的每一个细节
开发语言·rust·编程语言·rust自定义序列化·rust数据编码
上天夭24 分钟前
补充提问(四)
windows·python
0xwang31 分钟前
【python01】搭建环境
python
jiayong2332 分钟前
JVM垃圾回收机制面试题
java·开发语言·jvm