python(7) random

本文通过Python代码实现了一个简单的硬币翻转实验,利用random模块随机选择硬币的正反面,并记录一万次翻转后的结果。此实验有助于理解概率分布的基础概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import random
import itertools

outcomes = {'heads': 0, 'tails': 0}
sides = outcomes.keys()
a = []
for i in sides:
    a.append(i)


for i in range(10000):
    outcomes[random.choice(a)] += 1

print(outcomes['heads'])
print(outcomes['tails'])

http://dev.hortonworks.com.s3.amazonaws.com/HDPDocuments/HDP2/HDP-2-trunk/bk_system-admin-guide/content/ch_capacity-scheduler.html
### Python `random` 模块的用法 #### 基本功能概述 Python 的 `random` 模块提供了用于生成伪随机数的各种函数。这些函数可用于模拟赌博游戏中的骰子投掷、卡片抽取,或是实现更复杂的算法如蒙特卡洛方法。 #### 主要类与函数说明 - **种子设置** 为了能够重现相同的随机序列,在程序开始处通常会调用 `seed()` 函数来设定初始条件: ```python import random random.seed(10) # 使用固定的整数值作为种子 print(random.random()) # 输出固定的结果 ``` - **浮点数范围内的随机值** 可以通过 `random()` 方法获得介于 0 和 1 之间的均匀分布的小数;如果想要指定上下限,则可使用 `uniform(a, b)`: ```python print(random.uniform(1.5, 9.5)) # 返回 [1.5, 9.5] 内的一个随机实数 ``` - **离散型概率分布下的整数选取** 当需要从特定区间内选出一个随机整数时,可以利用 `randint(a,b)` 或者 `randrange(start, stop[, step])` 来完成此操作: ```python print(random.randint(3, 8)) # 包含边界值在内的闭合区间 [3, 8] print(random.randrange(0, 10, 2)) # 开放左端点并允许步长参数 (0, 2, 4, 6, 8) ``` - **列表元素的选择** 对于已有的集合或数组类型的数据结构而言,可以直接采用 `choice(seq)` 及其变体 `choices(population, weights=None, *, cum_weights=None, k=1)` 进行单次或多轮抽样: ```python my_list = ['apple', 'banana', 'cherry'] print(random.choice(my_list)) print(random.choices(['red', 'black'], [18, 20], k=10)) # 加权采样十个样本 ``` - **洗牌操作** 有时可能希望打乱现有顺序而不改变原始容器的内容,这时就可以借助 `shuffle(x[, random])` 实现原地混排效果: ```python cards = list(range(52)) random.shuffle(cards) print(cards[:5]) ``` 以上就是关于 Python 中 `random` 模块的一些基本介绍及其典型应用场景[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值