pygal报错
本帖最后由 启零 于 2021-12-1 20:39 编辑请问,这个代码哪里有问题,报错还是traceback
代码如下:
(一):
import random
class Die():
'''表示一个骰子的类'''
def __init__(self,num_side = 6):
#默认骰子的面数为6面
self.num_side = num_side
def roll(self):
#返回一个位于1和骰子面数之间的随机数
return random.randint(0,self.num_side)
(二):
from die import Die
#使用图标创建之前,先模拟骰子投掷过程,检查结果是否合理
#创建一个6面的筛子
d1 = input('请输入第一个骰子的面数:')
d2 = input('请输入第二个骰子的面数:')
num = input('请输入样本量:')
D6 = Die(int(d1))
D10 = Die(int(d2))
results=[]
for roll_num in range(int(num)):
result = D6.roll()+D10.roll()
results.append(result)
print(results)
#分析列表
frequencies = []#存储每种点数出现的次数
max_results = D6.num_side +D10.num_side
for value in range(1,max_results+1):
frequency = results.count(value)#count函数为在results中统计value对应数值出现的次数
frequencies.append(frequency)
print(frequencies)
x_list = []
add = int(d1)+int(d2)
for i in str(add):
x_list.append(i)
#对结果进行可视化
import pygal
hist = pygal.Bar()
hist.title = 'Results of rolling one D6 ',D6.num_side,'Times'
hist.x_labels = x_list
hist._y_title = 'Frequency of Results'
hist.x_title = 'Results'
hist.add('D6+D10',frequencies)
hist.render_to_file('投掷图.svg')
代码贴全,图里的D6.num_size从哪来的?frequencies变量从哪里来的?
页:
[1]