On 3/29/2011 5:50 AM, Raymond Hettinger wrote:
from collections import Counter
from itertools import product
print('\n'.join('*'*(c//2000) for _,c in sorted(Counter(map(sum,
product(range(6), repeat=8))).items())))
The line break makes that hard to read; the axis is not labeled (and
labels help understand the code). So my suggested revision is:
from collections import Counter
from itertools import product
print('\n'.join('{:2d}: {}'.format(i, '*'*(c//2000)) for i,c in sorted(
Counter(map(sum,product(range(6), repeat=8))).items() )))
0:
1:
2:
3:
4:
5:
6:
7: *
8: ***
9: *****
10: ********
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:
--
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list