python.pygal/random學習範例-模擬擲六面骰子點數次數生成直方圖

from random import randint
class Die():
'''表示一個骰子的類'''
def __init__(self,num_sides=6):
'''骰子認爲6面'''
self.num_sides=num_sides
def roll(self):
'''返回一個位於1和骰子面數之間的隨機值'''
return randint(1,self.num_sides)

#創建一個6面的骰子
die=Die()
#擲1000次骰子,將結果存儲在列表中
results=[]
for roll_num in range(1000):
result=die.roll()
results.append(result)

#分析結果

#for循環計算每個點子出現的次數並存儲在列表
frequencies=[]
for value in range(1,die.num_sides+1):
frequency=results.count(value)
frequencies.append(frequency)

#對結果可視化,繪製直方圖
import pygal
histogram=pygal.Bar()
histogram.title="投擲六面骰子1000次結果"
histogram.x_labels=['1','2','3','4','5','6']
histogram.x_title="點數"
histogram.y_title="投擲次數"

#將一系列值添加到圖表中
histogram.add('六面骰',frequencies)
#生產svg格式的圖
histogram.render_to_file('擲骰子.svg')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章