Pygal之掷骰子
python之使用pygal模拟掷骰子创建直方图:
1,文件die.py,源码如下:
1 from random import randint
2
3 class Die():
4 '''表示一个骰子的类'''
5 def __init__(self,num_sides = 6):
6 '''初始化骰子的面数属性,骰子的默认面数为6'''
7 self.num_sides = num_sides
8
9 def roll(self):
10 #返回一个位于1和骰子面数之间的随机整数值,可以是1,可以是num_sides,也可以是这两值之间的任何整数
11 return randint(1,self.num_sides)
2,文件die_visual.py,源码如下:
1 import pygal
2
3 from die import Die
4
5 #创建一个骰子面数为6的实例
6 die = Die()
7
8 #创建空列表,用以存储掷骰子的次数
9 results = []
10 for roll_num in range(100):
11 result = die.roll()
12 results.append(result)
13
14 #创建空列表frequency用以分析结果
15 frequencies = []
16 for value in range(1,die.num_sides+1):
17 frequency = results.count(value)
18 frequencies.append(frequency)
19
20 '''对结果进行可视化'''
21
22 hist = pygal.Bar() #创建条形图,并将其存储在hist中
23
24 hist.title = "Results of rolling one D6 1000 times" #设置直方图的标题
25 hist.x_labels = ['1','2','3','4','5','6'] #设置直方图的可能的x轴的值
26 hist.x_title = "Results" #设置x轴的标题
27 hist.y_title = "Frequency of Result" #设置y轴的标题
28
29 hist.add('D6',frequencies) #使用add()函数将值D6和列表frequencies添加到直方图中
30 #在当前文件夹下保存名为die_visual.svg且后缀必须为svg的文件
31 hist.render_to_file('die_visual.svg')
在码的过程中,可以尝试打印列表results和列表frequencies的值,看是不是符合预期。
Pygal之掷骰子的更多相关文章
- Python绘制直方图 Pygal模拟掷骰子
#coding=utf-8 from random import randint class Die(): """骰子类""" def __ ...
- pygal之掷骰子 - 2颗面数为6的骰子
python之使用pygal模拟掷两颗面数为6的骰子的直方图,包含三个文件,主文件,die.py,dice_visual.py,20200527.svg.其中最后一个文件为程序运行得到的结果. 1,d ...
- python之pygal:掷两个不同的骰子并统计大小出现次数
代码示例: # 掷两个不同的骰子并统计大小出现次数 import pygal from die_class import Die die = Die(6) # 实例化一个六面的骰子对象 die_10 ...
- python之pygal:掷一个骰子统计次数并以直方图形式显示
源码如下: # pygal包:生成可缩放的矢量图形文件,可自适应不同尺寸的屏幕显示 # 安装:python -m pip intall pygal-2.4.0-py2.py3-none-any.whl ...
- 使用python实现模拟掷骰子数据分析
Data:2020/4/8 主题:模拟实现掷骰子数据分析 编译环境:pycharm 库:pygal 说明: code 1:创建一个掷骰子类对象,类方法获得掷骰子随机数1-6,默认6个面,模拟20次将结 ...
- 掷骰子-IOS新手项目练习(抱歉,由于个人原因,图片没显示,要源码的项目私聊)
---恢复内容开始--- 今天我们来讲的就是项目<掷骰子> 首先我们先下载资源包,也就是我们需要的图片[点击图片下载] 在我们下载完图片之后,我们就可以开始创建项目 一.我们项目的做法可以 ...
- html5掷骰子的小demo
代码如下: <!DOCTYPE> <html> <title>柯乐义</title> <head> <script> var l ...
- jQuery掷骰子
网上找的jQuery掷骰子效果,测试兼容IE7及以上浏览器,IE6没有测试 js代码如下: $(function(){ var dice = $("#dice"); dice.cl ...
- TurnipBit开发板掷骰子小游戏DIY教程实例
转载请以链接形式注明文章来源(MicroPythonQQ技术交流群:157816561,公众号:MicroPython玩家汇) 0x00前言 下面带大家用TurnipBit开发板实现一个简单的小游戏- ...
随机推荐
- Pytest学习(十一)- 失败重跑插件pytest-rerunfailures的使用
环境依赖 Python 3.5, 最高 3.8, or PyPy3 pytest 5.0或更高版本 插件安装 pip3 install pytest-rerunfailures -i http://p ...
- QQ账号测试用例
- Java集合【2】--iterator接口详解
目录 一.iterator接口介绍 二.为什么需要iterator接口 三.iterator接口相关接口 3.1 ListIterator 3.2 SpitIterator 3.2.1 SpitIte ...
- 简单dp水题
#include <bits/stdc++.h> using namespace std; #define limit (100 + 5)//防止溢出 #define INF 0x3f3f ...
- 欢迎使用CSDN-markdown编辑器(这个只能看到一次保存一下)
欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接 ...
- 第3.5节 丰富的Python字典操作
一. 基本概念 Python提供一种通过名称来访问其各个值的数据结构,这种数据结构称为映射(mapping).字典(dict)是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下, ...
- PyQt(Python+Qt)学习随笔:Qt Designer中Action关联menu菜单和toolBar的方法
1.Action关联菜单 通过菜单创建的Action,已经与菜单自动关联,如果是单独创建的Action,需要与菜单挂接时,直接将Action Editor中定义好的Action对象拖拽到菜单栏上即可以 ...
- Linux里的几种不同的压缩命令小记
第一个是 .gz的压缩格式 我们使用gzip来对文件进行压缩,使用gunzip(或者是gzip -d)来对文件进行解压缩 但是gzip的缺点在于不能够压缩目录,压缩的时候也不能够保留源文件 第二个是 ...
- 图论补档——KM算法+稳定婚姻问题
突然发现考前复习图论的时候直接把 KM 和 稳定婚姻 给跳了--emmm 结果现在刷训练指南就疯狂补档.QAQ. KM算法--二分图最大带权匹配 提出问题 (不严谨定义,理解即可) 二分图 定义:将点 ...
- I am zhoukangyang!
我是 \(\texttt{zhoukangyang}\),一名来自浙江省,杭州市的初二菜鸡 \(\texttt{oier}\) . 洛谷zhoukangyang 很多东西因为太垃圾所以 了,要开 请洛 ...