python之pygal:掷一个骰子统计次数并以直方图形式显示
2023-09-11 14:19:57 时间
源码如下:
1 # pygal包:生成可缩放的矢量图形文件,可自适应不同尺寸的屏幕显示 2 # 安装:python -m pip intall pygal-2.4.0-py2.py3-none-any.whl 3 # 功能:掷一个骰子统计次数并以直方图形式显示 4 import pygal 5 from die_class import Die 6 7 die = Die() # 实例化一个骰子对象 8 9 results = [] 10 # 掷骰子100次 11 for n in range(100): 12 res = die.roll() 13 results.append(res) 14 15 print(results) 16 17 frequencies = [] 18 # 统计每个面出现的次数 19 for value in range(1, die.num_sides + 1): 20 frequency = results.count(value) 21 frequencies.append(frequency) 22 23 print("骰子各面出现的次数:", frequencies) 24 25 # 使用pygal以直方图形式显示统计结果 26 hist = pygal.Bar() 27 hist.title = '掷骰子100次统计结果' 28 hist.x_labels = ['1', '2', '3', '4', '5', '6'] 29 30 hist.x_title = '骰子结果' 31 hist.y_title = '出现次数' 32 33 hist.add('六面的骰子', frequencies) 34 hist.render_to_file('D:\pywork\output\pygal\die_visual.svg')
die_class.py:
1 # 骰子类 2 from random import randint 3 4 5 class Die(): 6 '''表示一个骰子类''' 7 8 def __init__(self, num_sides=6): 9 '''骰子默认为6面''' 10 self.num_sides = num_sides 11 12 def roll(self): 13 '''返回一个位于1与面数之间的随机数''' 14 return randint(1, self.num_sides)
运行结果:
1 [2, 3, 6, 6, 1, 3, 1, 3, 1, 3, 1, 3, 6, 2, 1, 5, 5, 3, 6, 5, 1, 3, 4, 3, 3, 4, 2, 2, 3, 3, 4, 6, 1, 3, 1, 5, 5, 5, 5, 1, 3, 5, 5, 3, 5, 4, 3, 2, 5, 2, 1, 1, 2, 6, 6, 4, 4, 2, 1, 3, 3, 2, 5, 3, 1, 1, 3, 4, 1, 2, 1, 2, 1, 2, 6, 1, 3, 3, 6, 6, 3, 1, 1, 2, 4, 5, 4, 3, 2, 1, 6, 6, 6, 2, 6, 1, 4, 3, 1, 1] 2 骰子各面出现的次数: [24, 15, 24, 10, 13, 14]
运行截图:
相关文章
- Python 3.7 安装教程
- python - 如何使用 Docker 运行多个 Python 脚本和一个可执行文件?
- 【华为OD机试真题 python】 停车场车辆统计【2022 Q4 | 100分】
- Google Earth Engine(python)——用 Python 修复影像栅格的接缝
- python能做什么软件?Python到底能干嘛,一文看懂
- Python的7大就业方向,你知道几个?
- 人生苦短,我用Python!为什么现在越来越多的人转行python?
- Selenium+Python系列环境搭建及 元素定位那些事
- 手把手|用Python端对端数据分析识别机器人“僵尸粉”
- Python 函数参数 返回值 缺省参数
- Python 字符串小节
- Python 相对路径和绝对路径--python实战(九)
- 《贝叶斯思维:统计建模的Python学习法》一2.4 Monty Hall难题
- 《Python高手之路(第3版)》——1.3 版本编号
- Python搭建QQ聊天机器人极简教程
- Python 数据分析教程之如何验证线性回归的假设,线性回归的假设是什么?以及如何用python验证它们?
- 用Python统计居民消费支出情况
- 7. 使用Python开发MQTT客户端
- 华为OD机试 - 统计差异值大于相似值二元组个数(Python) | 机试题+算法思路+考点+代码解析 【2023】
- [Spark][Python][DataFrame][RDD]DataFrame中抽取RDD例子
- Python 基础 之 python 线程知识点整理,并实现一个简单多线程 udp 聊天应用
- 学习笔记(48):Python实战编程-grid布局