python投掷骰子实验实验结论_Python 投掷骰子,并用pygal制图画出统计结果

首先是diee.py文件

#coding:gbk

from random import randint

class Die():

'''创建一个骰子的类'''

def __init__(self,num=6):

'''骰子默认面为6'''

self.num = num

def roll(self):

return randint(1,self.num)

然后是die文件

#coding:gbk

import pygal#需要画图的时候添加的导pygal模块

from diee import Die

#创建一个6面的骰子

die = Die()

#投掷几次骰子,结果存储于列表

results = []

for roll_num in range(1000):

result = die.roll()

results.append(result)

#分析结果

fre=[]

for value in range(1,die.num+1):#遍历可能的点数,因为range差一属性,我们需要+1

fres = results.count(value)#计算每种点数在results里出现的次数并赋值给fres

fre.append(fres)

#print(fre)

#对结果进行可视化

hist = pygal.Bar()

hist.title = 'Rolling one D6 1000 times.'

hist.xlabels = ['1','2','3','4','5','6']

hist.x_title = 'Result'

hist.y_title = 'Frequency of result'

hist.add('D6',fre)

hist.render_to_file('die_visual.svg')

'''首先我们在文件最开始导入了pygal模块,在下面的对结果可视化部分做一下说明:

创建一个pygal.Bar()的实例,将其存储在hist中

给hist的属性title标题设置一下,将骰子D6的可能结果用作X轴的标签

然后我们使用add()将一系列值添加到图表中,还传递了一个列表fre,其中包含了将出现在图表中的值

最后将这个图表渲染成一个svg文件,这种文件的拓展名必须为svg

运行之后我们是看不到图表的,程序会在根目录下生成一个svg的文件,用浏览器打开查看

pygal生成的图表具有交互性,如果你将鼠标指向图表中的任何条形,将会看到与之相关联的数据

由于用python需要选择你喜欢的第三方模块,所以可以自由选择,目前也有很多大神做了一些更方便

和更牛X的模块提供大家选择,大家可以自己去网上搜索一下.

这样导致了每一个模块所提供的指令可能都未必相同,所以图形更需要多练习

在需要制图的一些作业方向和相关的作业人员,他们需要经常使用这些指令,所以很快可以上手

下边的同时投掷两个骰子,我就不多做解释了,我也只是看一看就丢一边了,我们应该把中心偏向自己

目前更需要学习的地方,和自己感兴趣的point.当我们需要制图的时候,只需要去找一个自己喜欢的

模块,然后学习他的用法便可以制图了

为此我特别找了一个画图的模块,开发团队是国人,所以学习文档很友好

界面也美观多了,大家可以看看这家伙的交互界面和CODE

http://pyecharts.org/#/zh-cn/prepare

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值