You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

给定理论概率的实际发生次数Python模拟最优方案咨询

偏置骰子模拟统计最优实现方案

实现思路

  • 直接用numpy.random.choice批量生成1000次投掷结果,避免循环逻辑大幅提升运行效率
  • 搭配numpy.unique的return_counts参数直接输出各面出现次数,无需手动写遍历统计逻辑
  • 输入输出和配置参数拆分,可读性和可修改性更强

完整代码(Numpy版本,大样本量性能最优)

import numpy as np

# 基础参数配置
dice_faces = [1, 2, 3, 4, 5, 6]
face_probs = [0.1, 0.2, 0.15, 0.25, 0.1, 0.2]
throw_total = 1000

# 批量生成投掷结果
throw_results = np.random.choice(dice_faces, size=throw_total, p=face_probs)
# 统计各面出现次数
unique_faces, occur_counts = np.unique(throw_results, return_counts=True)

# 格式化输出结果
for face, count in zip(unique_faces, occur_counts):
    print(f"骰子面{face}模拟出现次数:{count}")

补充说明

  • 如果需要每次运行得到相同的模拟结果方便调试,可以在生成结果前加np.random.seed(42)(种子数值可自定义)。
  • 如果你需要纯Python实现、不想安装第三方依赖,可以用标准库组合实现,适合轻量场景:
import random
from collections import Counter

dice_faces = [1, 2, 3, 4, 5, 6]
face_probs = [0.1, 0.2, 0.15, 0.25, 0.1, 0.2]
throw_total = 1000

throw_results = random.choices(dice_faces, weights=face_probs, k=throw_total)
counts = Counter(throw_results)

for face in sorted(counts.keys()):
    print(f"骰子面{face}模拟出现次数:{counts[face]}")

内容的提问来源于stack exchange,提问作者vivian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:45:03