15-9和15-7比较类似,我觉得不一样的地方是可以复习一下列表那边的知识。因为乘积的结果是不连贯的,要提前把可能的结果算出来,然后删掉重复项再有序化,最后统计频数。By the way, product是乘积的意思哦~查了一下才知道。
import pygal
from random import randint
class Die():
def __init__(self, num_sides=6):
self.num_sides = num_sides
def roll(self):
return randint(1,self.num_sides)
die_1 = Die()
die_2 = Die()
results = []
for roll_number in range(1,1000):
result = die_1.roll() * die_2.roll()
results.append(result)
hist=pygal.Bar()
hist.title = "Results of rolling two D6 dice 1000 times"
frequencies = []
labels = []
product=[]
for x in range(1,7): #遍历两组所有1-6的数,把他们全都相乘一次,得到一个列表product
for y in range(1,7):
xy=x*y
product.append(xy)
possible_results=list(set(product)) #把这些数用set()方法弄成元组,再转化为列表,这样就没有重复项啦
possible_results.sort() #把新列表有序