使用 Python来模拟掷两个骰子的情况 统计点数分布的情况

目录

需求:

代码实现:

程序说明:

运行结果:


需求:

使用 Python来模拟掷两个骰子的情况 统计点数分布的情况

代码实现:

复制代码
import random


def roll_dice():
    """模拟掷两个骰子的行为,并返回两个骰子的点数之和。"""
    dice1 = random.randint(1, 6)
    dice2 = random.randint(1, 6)
    return dice1 + dice2


def simulate_dice_rolls(num_rolls=1000):
    """模拟掷两个骰子 num_rolls 次,并统计每种点数的分布情况。"""
    # 初始化统计字典
    rolls_distribution = {i: 0 for i in range(2, 13)}

    # 模拟掷骰子
    for _ in range(num_rolls):
        roll_result = roll_dice()
        rolls_distribution[roll_result] += 1

    return rolls_distribution


def print_results_with_percentage(distribution, total_rolls):
    """打印每种点数的出现次数和百分比。"""
    print("Point\tFrequency\tPercentage (%)")
    for point, frequency in distribution.items():
        percentage = (frequency / total_rolls) * 100
        print(f"{point}\t{frequency}\t\t{percentage:.2f}")


if __name__ == "__main__":
    # 模拟掷两个骰子 1000 次
    num_rolls = 1000
    results = simulate_dice_rolls(num_rolls)
    print_results_with_percentage(results, num_rolls)

程序说明:

  1. roll_dice() 函数

    • 使用 random.randint(1, 6) 来模拟掷一个六面骰子的行为。
    • 返回两个骰子的点数之和。
  2. simulate_dice_rolls() 函数

    • 初始化一个字典 rolls_distribution 用于存储每种点数的出现频率。
    • 使用 for 循环来模拟掷骰子的过程,每次调用 roll_dice() 并更新相应的统计值。
    • 最终返回统计结果。
  3. print_results() 函数

    • 打印每种点数的出现次数。

运行结果:

Point Frequency Percentage (%)

2 27 2.70

3 50 5.00

4 98 9.80

5 111 11.10

6 142 14.20

7 171 17.10

8 140 14.00

9 112 11.20

10 74 7.40

11 52 5.20

12 23 2.30

相关推荐
亿元程序员1 分钟前
逃离鸭科夫5人2周1个亿,我们可以做一个鸡科夫吗?
前端
撩得Android一次心动2 分钟前
Android 四大组件——BroadcastReceiver(广播)
android·java·android 四大组件
WPG大大通2 分钟前
AIoT | 软件:Astra MCP边缘算力构建详解
经验分享·笔记·python·硬件架构·代码
canonical_entropy5 分钟前
Nop平台到底有什么独特之处,它能用在什么场景?
java·后端·领域驱动设计
chilavert3187 分钟前
技术演进中的开发沉思-174 java-EJB:分布式通信
java·分布式
十一.36620 分钟前
37-38 for循环
前端·javascript·html
波诺波20 分钟前
环境管理器
linux·前端·python
诸葛思颖23 分钟前
把本地 Python 项目用 Git 进行版本控制并推送到 GitHub
git·python·github
测试老哥28 分钟前
自动化测试用例的编写和管理
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
San30.31 分钟前
深入理解浏览器渲染流程:从HTML/CSS到像素的奇妙旅程
前端·css·html