python之pygal:掷一个骰子统计次数并以直方图形式显示

源码如下:

 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]

运行截图:

时间: 2024-10-27 04:00:58

python之pygal:掷一个骰子统计次数并以直方图形式显示的相关文章

python之pygal:掷两个不同的骰子并统计大小出现次数

代码示例: 1 # 掷两个不同的骰子并统计大小出现次数 2 import pygal 3 from die_class import Die 4 5 die = Die(6) # 实例化一个六面的骰子对象 6 die_10 = Die(10) # 实例化一个十面的骰子对象 7 8 results = [] 9 # 掷骰子1000次 10 for n in range(1000): 11 res = die.roll() + die_10.roll() 12 results.append(res)

查询一个值出现的次数大于num,并统计次数,

SELECT COUNT( 要统计次数的字段) FROM 表 GROUP BY 要统计字段 HAVING COUNT(要统计字段) > num 查询下单次数超过50次商品 SELECT goods_id, goods_name,COUNT(goods_id) FROM tp_order_goods GROUP BY goods_id HAVING COUNT(goods_id) > 50

Python模块-pygal之First steps

pygal安装 在OS X系统中,敲入终端命令: pip install pygal 在Pycharm编译器中导入pygal模块: Pygal模块可生成可缩放的矢量图形文件.对于需要在不同的屏幕上显示的图标,这很有用,因为它们将自动缩放,以适合观看者的屏幕.如果你打算以在线方式使用图标,请考虑使用Pygal来生成它们,这样它们在任何设备上显示时都会很美观 生成条形图: import pygal '''绘制条形图 多图横向排列''' bar_chart = pygal.Bar() bar_char

统计次数问题

统计次数问题 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描写叙述 定义一个由数字0~9组成的字符串s,当中s的长度不超过100,定义一个整数m,当中m在0~9范围内,要求输出m在s中出现的次数. 假设m没有出现过,输出0次 输入 输入s和m的值. 输出 输出对应的次数. 演示样例输入 122334 3 演示样例输出 2 提示 来源 演示样例程序 //不能用一个scanf输入字符串s和字符m,getchar():是输入单个字符 

Java 一个字符串在另外一个字符串出现次数

统计一个字符串在另外一个字符串出现次数 代码如下: package me.chunsheng.javatest; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by wei_spring on 16/10/11. * <p> * 统计一个字符串在另外一个字符串出现的次数 * 正则匹配的方法,前提字符串不是特殊字符串 * eg:finder("adadadadauuada&qu

关于单击浏览器统计次数问题分析

关于单击浏览器统计次数问题分析 我们想要实现在前台界面实现浏览地址被单击进入时,次数的统计方法,有两种方法可以实现!法一为前后台交互~~~~法二是js界面实现!本次介绍法一. 法一: 前端浏览器地址: 解释:当我们单击链接地址时,后台代码会接收一个参数(),通过调用getcounts函数来实现统计次数的自增操作. 代码运行到这里,就要调用图二的方法,来完成界面的统计!主要是根据newsadmin表的num字段来实现! 图(一) 图(二) /********************新代码区****

手动实现一个单词统计MapReduce程序与过程原理分析

[toc] 手动实现一个单词统计MapReduce程序与过程原理分析 前言 我们知道,在搭建好hadoop环境后,可以运行wordcount程序来体验一下hadoop的功能,该程序在hadoop目录下的share/hadoop/mapreduce目录中,通过下面的命令: yarn jar $HADOOP_HOME/share/hadoop/mapreducehadoop-mapreduce-examples-2.6.4.jar wordcount inputPath outPath 即可对输入文

用python+django+twistd 开发一个属于自己的运维系统

开源的运维系统不少,比如nagios.zabbix.cati等等,但是遇到自己个性化的运维需求的时候,总是显的力不从心!最近在学习python,所以就考虑用python+django+twisted来定做一个完全个性化的运维系统. 运维系统有几个主要的功能:监控.分析.报警.更甚者直接根据分析的结果进行反应操作.而以上几点通过上述的框架可以比较容易的实现. 下面上图说明: 使用freemind整理了下思路: 下面是一些代码段,完整的代码下载见文档底部: Server: #!/usr/bin/en

python 调 用另一个python 程序

na = int(input("开奖时间(如:20140630): \n")) import time nb =  int(time.strftime("%Y%m%d")) #获取当前时间的年月日 #print (nb) #获取键盘输入 a = True while a:     if nb < na:         import os         os.system("python shuangseqou.py")