python之pygal:掷两个不同的骰子并统计大小出现次数
代码示例:
# 掷两个不同的骰子并统计大小出现次数
import pygal
from die_class import Die die = Die(6) # 实例化一个六面的骰子对象
die_10 = Die(10) # 实例化一个十面的骰子对象 results = []
# 掷骰子1000次
for n in range(1000):
res = die.roll() + die_10.roll()
results.append(res) print(results) frequencies = []
# 统计每个大小出现的次数
times_list = range(2, die.num_sides + die_10.num_sides + 1)
for value in times_list:
frequency = results.count(value)
frequencies.append(frequency) print("骰子大小出现的次数:", frequencies) # 使用pygal以直方图形式显示统计结果
hist = pygal.Bar()
hist.title = '掷两个不同骰子1000次的大小统计结果'
hist.x_labels = times_list hist.x_title = '骰子大小'
hist.y_title = '出现次数' hist.add('D6+D10', frequencies)
hist.render_to_file('D:\pywork\output\pygal\diff_die_visual.svg')
生成文件截图:

python之pygal:掷两个不同的骰子并统计大小出现次数的更多相关文章
- python之pygal:掷一个骰子统计次数并以直方图形式显示
源码如下: # pygal包:生成可缩放的矢量图形文件,可自适应不同尺寸的屏幕显示 # 安装:python -m pip intall pygal-2.4.0-py2.py3-none-any.whl ...
- day2 编程语言介绍、Python运行程序的两种方式、变量
一 编程语言介绍 1. 机器语言 用计算机能理解的二进制指令直接编写程序,直接控制硬件 2. 汇编语言 用英文标签取代二进制指令编写程序,本质也是直接控制硬件 3. 高级语言 用人能理解的表达方式去编 ...
- 用Python计算幂的两种方法,非递归和递归法
用Python计算幂的两种方法: #coding:utf-8 #计算幂的两种方法.py #1.常规方法利用函数 #不使用递归计算幂的方法 """ def power(x, ...
- Python实现屏幕截图的两种方式
Python实现屏幕截图的两种方式 使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处 ...
- Python 输出百分比的两种方式
Python 输出百分比的两种方式 注: 在python3环境下测试. 方式1:直接使用参数格式化:{:.2%} {:.2%}: 显示小数点后2位 显示小数点后2位: >>> pri ...
- Python科学计算(两)——时域波形和正弦信号的频谱
Python科学计算(两)-- 时域和频域波形为正弦波形信号生成.计算和显示 # -*- coding: utf-8 -*- import numpy as np import matplotlib. ...
- Python 下JSON的两种编解码方式实例解析
概念 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写.在日常的工作中,应用范围极其广泛.这里就介绍python下它的两种编解码方法: ...
- Python实现全局变量的两个解决方法
Python实现全局变量的两个解决方法 本文针对Python的全局变量实现方法简述如下: 先来看下面一段测试程序: count = 0 def Fuc(count): print coun ...
- Python 发送 email 的两种方式
Python发送email的两种方式,分别为使用登录邮件服务器.调用sendmail命令来发送三种方法 Python发送email比较简单,可以通过登录邮件服务来发送,linux下也可以使用调用sen ...
随机推荐
- define和const的一点点小知识
define篇 1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”. 被定义为“宏”的标识符称为“宏名”. 在编译预处理时,对程序中所有出现的“宏名”,都 ...
- fatal error LNK1169: 找到一个或多个多重定义的符号或多个.c/.cpp文件想同时调用定义在.h文件里面的全局变量,防止重定义变量问题。
为什么.h文件中不能定义全局变量? 原因: 存在多次创建变量.如果头文件中可以定义全局变量,那么每个包含该头文件的文件里都会有该全局变量的定义.因为C语言的include是直接将文件嵌入到includ ...
- stm32cubemx学习要点记录
如果有些外设的HAL库函数找不到的话,你可以到IAR工程的文件夹显示栏中找如下图所示:
- 【Codeforces 848C】Goodbye Souvenir
Codeforces 848 C 题意:给\(n\)个数,\(m\)个询问,每一个询问有以下类型: 1 p x:将第p位改成x. 2 l r:求出\([l,r]\)区间中每一个出现的数的最后一次出现位 ...
- DNS主从复制及区域传送
前言 DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器查询更新数据,保证数据一致性,此为区域传送.也可以说,DNS区域传 ...
- Android 解决在初次打开Activity加载布局文件时,ScrollView滚动条不在顶部的问题
出现这种问题的情况列举:ScrollView中嵌套有(包括自定义)的ListView,GridView时,会出现这种情况 解决办法: 1.在布局加载时让ScrollView上面的那个控件聚焦,具体做法 ...
- sql语句,查询昨天的数据
如果在程序中,有前台传来两个时间点:beginTime和endTime,在sql查询中的限制条件就是查询昨天的数据,那么可以这样写: 但是如果在这里要查询昨天的数据的话, 则不能简单地在开始时间的那里 ...
- 走近SpringBoot
(博客园不支持MarkDown编辑,看完整版请移步:https://www.zybuluo.com/Allen-llh/note/1199946) 1. (Building a RESTful Web ...
- linux内核分析实践二学习笔记
Linux实践二--内核模块的编译 标签(空格分隔): 20135328陈都 理解内核的作用 Linux内核[kernel]是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能 ...
- enumerate()函数用法
enumerate 函数用于遍历序列中的元素以及它们的下标: