#!/usr/bin/env python import sys import re paragraph = "" paragraphs = [] #blank lines are paragraph separators (assuming input is UNIX style ascii) for line in sys.stdin: if line == '\n' and lastline != '\n': paragraphs.append(re.sub('[^a-zA-Z0-9]+', '', paragraph)) paragraph = "" elif line != '\n': paragraph = paragraph+line lastline = line #snag whatever is left if len(paragraph) > 0: paragraphs.append(re.sub('[^a-zA-Z0-9]+', '', paragraph)) try: lasttop = [] for paragraph in paragraphs: charmap = {} for char in paragraph: if char in charmap: charmap[char] += 1 else: charmap[char] = 1 charmaplen = len(charmap) if charmaplen > 10: chartlen = 10 else: chartlen = charmaplen top = [] while len(top) < chartlen: if len(charmap) > 0: maxchar = max(charmap, key=charmap.get) del charmap[maxchar] if maxchar not in lasttop: top.append(maxchar) else: break print "\nparagraph: "+repr(paragraph) print "chars: "+repr(top) lasttop = top[:5] except Exception, e: print "Aiieee!!!: "+e.message