1 #!/usr/bin/env python 2 3 import sys 4 import re 5 6 paragraph = "" 7 paragraphs = [] 8 9 #blank lines are paragraph separators (assuming input is UNIX style ascii) 10 for line in sys.stdin: 11 12 if line == '\n' and lastline != '\n': 13 paragraphs.append(re.sub('[^a-zA-Z0-9]+', '', paragraph)) 14 paragraph = "" 15 elif line != '\n': 16 paragraph = paragraph+line 17 18 lastline = line 19 20 #snag whatever is left 21 if len(paragraph) > 0: 22 paragraphs.append(re.sub('[^a-zA-Z0-9]+', '', paragraph)) 23 24 25 try: 26 27 lasttop = [] 28 for paragraph in paragraphs: 29 30 charmap = {} 31 for char in paragraph: 32 if char in charmap: 33 charmap[char] += 1 34 else: 35 charmap[char] = 1 36 37 charmaplen = len(charmap) 38 if charmaplen > 10: 39 chartlen = 10 40 else: 41 chartlen = charmaplen 42 43 top = [] 44 while len(top) < chartlen: 45 if len(charmap) > 0: 46 maxchar = max(charmap, key=charmap.get) 47 del charmap[maxchar] 48 if maxchar not in lasttop: 49 top.append(maxchar) 50 else: 51 break 52 53 print "\nparagraph: "+repr(paragraph) 54 print "chars: "+repr(top) 55 56 lasttop = top[:5] 57 58 except Exception, e: 59 print "Aiieee!!!: "+e.message 60 61 62