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)
13
14 print(results)
15
16 frequencies = []
17 # 统计每个大小出现的次数
18 times_list = range(2, die.num_sides + die_10.num_sides + 1)
19 for value in times_list:
20     frequency = results.count(value)
21     frequencies.append(frequency)
22
23 print("骰子大小出现的次数:", frequencies)
24
25 # 使用pygal以直方图形式显示统计结果
26 hist = pygal.Bar()
27 hist.title = ‘掷两个不同骰子1000次的大小统计结果‘
28 hist.x_labels = times_list
29
30 hist.x_title = ‘骰子大小‘
31 hist.y_title = ‘出现次数‘
32
33 hist.add(‘D6+D10‘, frequencies)
34 hist.render_to_file(‘D:\pywork\output\pygal\diff_die_visual.svg‘)

生成文件截图:

时间: 2024-10-10 05:20:29

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

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(

Python 学习开发的两年后的反思

背景介绍 pyqt 客户端方案 C 和python 混合编程方案 纯python服务器解决方案 由于对服务器开发熟悉程度不高暂时未想到应用程序服务器的开发应用求指点 网络快速测试方案 学术研究 技术规划 反思 问题 背景介绍 三年的C++ windows 客户端的开发经验, 接触python也快有两年了. 记得最开始会选择接触python的原因是因为李开复老师的强烈推荐. 接触以后一直对python简洁的编程风格所倾倒.自己的C++ 编程风格和设计思路上受到python 的影响很大,因为这个原因

python实现快速排序算法(两种不同实现方式)

# -*- coding: utf-8 -*- """ Created on Fri May 16 17:24:05 2014 @author: lifeix """ #快速排序 import sys import random length = 30 def qsort(arr,left,right): lp = left rp = right if lp == rp:return while True: while arr[lp] >=

Python 引入包的两种方式区别

1.import XXX仅仅是告诉我们需要使用这个包,但是你真正使用的时候,需要完整的导入这个包的全路径 比如: import wechat.views 在使用其中的hello函数的时候,需要 wechat.views.hello - 这个路径不能简略 2.from ... import ...就不需要指定父的路径了 比如: from wechat.views import *    #你可以使用views内部的变量 你就可以直接使用其中的hello hello 但是如果: from wecha

Python科学计算(两)——时域波形和正弦信号的频谱

Python科学计算(两)-- 时域和频域波形为正弦波形信号生成.计算和显示 # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as pl import matplotlib import math import random row = 4 col = 4 N = 500 fs = 5 n = [2*math.pi*fs*t/N for t in range(N)] axis_x = np.linspace(

Python实现屏幕截图的两种方式

Python实现屏幕截图有两种方式: 使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处是 灵活 速度快 缺点是: 写法繁琐 不跨平台 import time import win32gui, win32ui, win32con, win32api def window_capture(filename): hwnd = 0 # 窗口的编号,0号表示当前活跃窗口 # 根据窗口句柄获取

python遍历数组的两种方法的代码

工作过程中,把开发过程中较好的一些内容段备份一下,下面内容是关于python遍历数组的两种方法的内容,希望对小伙伴有用途. colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 下面的方法可以先获得数组的长度,然后根据索引号遍历数组,同时输出索引号 colours = ["red","gree

请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句(转载)

笔试的时候经常问这些: 方法一: #define max(a,b) ((((long)((a)-(b)))&0x80000000)?(b):(a)) 若a>b,则a-b的二进制最高位为0,与上任何数还是0,所以大数为a: 否则,a-b为负数,最高位为1,与上0x80000000(最高位为1其他为0)之后为1,所以此时最大数为b. 方法二: #define max(a,b) ((((a)-(b))&(1<<31))?(b):(a)) 方法三:      1.#define 

C语言:对传入sp的字符进行统计,三组两个相连字母“ea”&quot;ou&quot;&quot;iu&quot;出现的次数,并将统计结果存入ct所指的数组中。-在数组中找出最小值,并与第一个元素交换位置。

//对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中. 1 #include <stdio.h> 2 #include <string.h> 3 #pragma warning (disable:4996) 4 void fun(char*sp ,int *ct) 5 { 6 int a=0, b=0, c=0; 7 while (*sp != '\0') 8 { 9 if (*s