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

Reply via email to