掷骰子直方图没有给出预期的输出?

Rolling Dice Histogram Not Giving The Supposed Output?

所以这是我的代码: 您可以在下面看到代码:

import random
from collections import defaultdict

def main():
    dice = 11
    sides = 6
    rolls = 1000
    result = roll(dice, sides, rolls)
    maxH = 0
    for i in range(dice, dice * sides + 1):
        if result[i] / rolls > maxH: maxH = result[i] / rolls
    for i in range(dice, dice * sides + 1):
        print('{:2d}{:10d} {}'.format(i, result[i], '*' * int(result[i] / rolls / maxH * 40)))


def roll(dice, sides, rolls):
    d = defaultdict(int)
    for _ in range(rolls):
        d[sum(random.randint(1, sides) for _ in range(dice))] += 1
    return d

main()

我想要的输出是:

11:
12:
13:
14:
15:
16:
17:
18: *
19: ****
20:
21: ***
22: ******
23: ********
24: ****************
25: *************
26: **********
27: *********************************
28: ****************************************
29: *********************************
30: ***************************************************
31: *****************************************************************
32: ********************************************************
33: **************************************************************************************
34: ***********************************************************
35: *********************************************************************
36: ***********************************************************************************
37: **************************************************************
38: *****************************************************************
39: ***************************************
40: *****************************************************
41: ************************************ 
42: ****************************
43: ************************
44: ************************
45: *********
46: ***********
47: *******
48: ***
49: **
50:
51:
52: *
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66: 

但出于某种原因,它没有给我确切的 output.What 问题,找不到解决方案? (注意:这段代码的问题是这样的:“编写一个程序,它接受一个整数参数 n,并掷 11 个公平的六面骰子,n 次。使用一个整数 数组以列出每个可能的总数(11 到 66 之间)出现的次数。然后打印一段文字 结果的直方图,如下图所示。 (你可以取 n 为 1000)。")

print('{:2d}: {}'.format(i, '*' * int(result[i] / rolls / maxH * 80)))

maxH = max(result.values()) 

然后

print('{:2d}: {}'.format(i, '*' * int(result[i] / maxH * 100)))