使用 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

相关推荐
HAH-HAH15 小时前
【Python 入门】(2)Python 语言基础(变量)
开发语言·python·学习·青少年编程·个人开发·变量·python 语法
Bellafu66615 小时前
spring项目部署后为什么会生成 logback-spring.xml文件
java
递归不收敛15 小时前
一、Java 基础入门:从 0 到 1 认识 Java(详细笔记)
java·开发语言·笔记
SunnyDays101116 小时前
Python 轻松实现替换或修改 PDF 文字
python·替换pdf文字·修改pdf·修改pdf文字
东风西巷16 小时前
PDFgear:免费全能的PDF处理工具
前端·pdf·软件需求
沐浴露z16 小时前
【Java SpringAI智能体开发学习 | 2】SpringAI 实用特性:自定义Advisor,结构化输出,对话记忆持久化,prompt模板,多模态
java·spring·springai
小沈同学呀16 小时前
创建一个Spring Boot Starter风格的Basic认证SDK
java·spring boot·后端
Just_Paranoid16 小时前
【Settings】恢复出厂设置密码校验
android·python·settings·sha256·hmac-sha256
森之鸟16 小时前
Mac电脑上如何打印出字体图标
前端·javascript·macos
码农小伙16 小时前
通俗易懂地讲解JAVA的BIO、NIO、AIO
java·nio