# readdice.py f = open( 'numbers.txt', 'r' ) rolls = {} s = 0 # sum of all dice rolls # APPROACH ONE: #for line in f: # line = line.strip() # get rid of '\n' (and spaces) # number = int( line ) # s += number # if number in rolls: # rolls[number] += 1 # else: # rolls[number] = 1 # APPROACH TWO (more Pythonesque): x = [ int( line.strip() ) for line in f ] for number in x: rolls[number] = rolls.get( number, 0 ) + 1 # recursive function def sumit( L ): if L: return L[0] + sumit( L[1:] ) else: return 0 import sys print( sys.getrecursionlimit() ) # defaults to 1000 sys.setrecursionlimit( len( x ) + 50 ) s = sumit( x ) print( 'Sum is', s ) print( rolls ) for i in sorted( rolls ): print( i, '==>', rolls[i] ) def printrow( n, c = '#', step = 10 ): for i in range( 1, n + 1, step ): print( c, end = '' ) print( ' (%d)' % n ) for i in sorted( rolls ): print( '%2d:' % i, end = ' ' ) printrow( rolls[i], c = '+', step = 50 )