python投掷骰子实验报告,python投掷骰子实验

  python投掷骰子实验报告,python投掷骰子实验

  本文主要介绍一个python数据可视化的例子pygal模拟掷骰子。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  00-1010可视化包Pygal生成可扩展的矢量图形文件分析结果,计算每个点出现的次数,绘制直方图,同时掷出两个骰子,同时掷出两个不同点数的骰子。

  

目录

  您可以自动放大和缩小不同大小的屏幕来显示图表。

  #安装pygal

  pip安装pygal

  要了解Pygal可以生成什么样的图表,请访问http://www.pygal.org/.

  单击文档,单击图表类型,每个示例都包含源代码。

  从随机导入randint

  #创建一类骰子

  班迪():

  def __init__(self,num_sides=6):

  self.num_sides=num_sides

  def辊(自身):

  #返回介于1和骰子点数之间的随机值

  return randint(1,self.num_sides)

  #掷色子

  die=Die()

  #创建列表并将结果存储在列表中

  结果=[]

  # 100张照片

  对于范围(100):内的卷数

  result=die.roll()

  结果.追加(结果)

  打印(结果)

  [3, 4, 2, 2, 6, 5, 5, 5, 2, 3, 1, 4, 3, 2, 1, 2, 3, 6, 6, 5, 5, 3, 2, 3, 1, 1, 4, 1, 4, 6, 1, 6, 2, 3, 4, 6, 2, 5, 5, 1, 6, 1, 5, 4, 3, 3, 4, 5, 6, 3, 5, 1, 4, 3, 5, 6, 6, 6, 4, 6, 5, 6, 5, 4, 6, 3, 1, 4, 1, 4, 2, 1, 1, 4, 4, 4, 2, 3, 1, 4, 6, 2, 1, 5, 6, 2, 2, 6, 6, 3, 6, 2, 6, 6, 4, 4, 2, 1, 1, 6]

  

可视化包Pygal生成可缩放矢量图形文件

  频率=[]

  对于范围(1,骰子点数边数1):内的值

  频率=结果.计数(值)

  频率.附加(频率)

  打印(频率)

  [10, 23, 13, 9, 26, 19]

  

分析结果,计算每个点数出现的次数

  导入pygal

  hist=pygal。酒吧()

  hist.title=滚动一个d6 100次的结果

  hist . x _ labels=[ 1 , 2 , 3 , 4 , 5 , 6]

  hist.x_title=结果

  hist.y_title=结果频率

  历史添加(“d6”,频率)

  #要将图形呈现为SVG文件,您需要打开浏览器来查看生成的直方图。

  hist . render _ to _ file( die _ visual . SVG )

  

绘制直方图

  从随机导入randint

  #创建一类骰子

  班迪():

  def __init__(self,num_sides=6):

  self.num_sides=num_sides

  def辊(自身):

  #返回介于1和骰子点数之间的随机值

  return randint(1,self.num_sides)

  #掷色子

  die1=Die()

  die2=Die()

  #创建列表并将结果存储在列表中

  结果=[]

  # 100张照片

  对于卷数在

  range(100):

   result = die1.roll() + die2.roll()

   results.append(result)

  print(results)

  #分析结果,计算每个点数出现的次数

  frequencies = []

  max_result = die1.num_sides + die2.num_sides

  for value in range(1, max_result+1):

   frequency = results.count(value)

   frequencies.append(frequency)

  print(frequencies)

  #绘制直方图

  import pygal

  hist = pygal.Bar()

  hist.title = results of rolling one d6 dice 100 times

  hist.x_lables = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

  hist.x_title = result

  hist.y_title = frequency of result

  hist.add(d6 + d6, frequencies)

  #将图渲染为SVG文件,需要打开浏览器,才能查看生成的直方图

  hist.render_to_file(die_visual.svg)

  [4, 7, 4, 5, 8, 4, 3, 6, 8, 9, 8, 11, 9, 11, 8, 8, 5, 6, 10, 5, 11, 7, 4, 3, 12, 12, 7, 2, 4, 9, 9, 5, 7, 10, 4, 7, 4, 6, 5, 6, 7, 2, 7, 9, 7, 6, 11, 5, 9, 6, 11, 4, 8, 10, 7, 9, 5, 4, 3, 7, 4, 10, 5, 7, 2, 6, 4, 2, 2, 5, 5, 9, 6, 3, 6, 10, 12, 7, 4, 11, 8, 6, 10, 5, 7, 5, 5, 7, 9, 4, 11, 6, 7, 8, 6, 11, 6, 4, 3, 12]

  [0, 5, 5, 14, 13, 13, 15, 8, 9, 6, 8, 4]

  

  

  

  

同时投掷两个面数不同骰子

  

from random import randint

  #创建一个骰子的类

  class Die():

   def __init__(self,num_sides = 6):

   self.num_sides = num_sides

   def roll(self):

   #返回一个位于1和骰子面数之间的随机值

   return randint(1, self.num_sides)

  #掷骰子

  die1 = Die()

  die2 = Die(10)

  #创建一个列表,将结果存储在一个列表中

  results = []

   #投100次

  for roll_num in range(100):

   result = die1.roll() + die2.roll()

   results.append(result)

  print(results)

  #分析结果,计算每个点数出现的次数

  frequencies = []

  max_result = die1.num_sides + die2.num_sides

  for value in range(1, max_result+1):

   frequency = results.count(value)

   frequencies.append(frequency)

  print(frequencies)

  #绘制直方图

  import pygal

  hist = pygal.Bar()

  hist.title = results of rolling one d10 dice 100 times

  hist.x_lables = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,15,16]

  hist.x_title = result

  hist.y_title = frequency of result

  hist.add(d6 + d10, frequencies)

  #将图渲染为SVG文件,需要打开浏览器,才能查看生成的直方图

  hist.render_to_file(die_visual.svg)

  [5, 3, 6, 13, 8, 9, 10, 11, 11, 4, 5, 14, 11, 10, 11, 8, 14, 12, 16, 8, 9, 11, 7, 11, 9, 2, 8, 9, 9, 10, 7, 8, 12, 11, 8, 12, 9, 9, 10, 11, 8, 14, 10, 12, 10, 7, 12, 5, 4, 8, 6, 7, 7, 11, 9, 16, 6, 13, 6, 10, 6, 7, 16, 9, 14, 5, 7, 12, 8, 9, 11, 11, 6, 11, 5, 8, 11, 16, 4, 10, 5, 10, 13, 4, 9, 9, 11, 9, 11, 13, 7, 13, 13, 5, 5, 4, 5, 3, 12, 14]

  [0, 1, 2, 5, 9, 6, 8, 10, 13, 9, 15, 7, 6, 5, 0, 4]

  

  

  以上就是python数据可视化pygal模拟掷骰子实现示例的详细内容,更多关于python pygal模拟掷骰子的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: