class Candidate(object): def __init__(self, name): self.name = name self.votes = 0 def add(self, amount): self.votes += amount f = open("C:\\Documents and Settings\\dgerman\\Desktop\\tyler.txt", "r") lines = f.readlines() f.close() # print lines entries = {} for line in lines: # print line words = line.split() for word in words: # print word if entries.has_key(word): entries[word].add(1) else: entries[word] = Candidate(word) entries[word].add(1) for e in entries.keys(): print e, entries[e].votes print "-----------------------" def mymax(candidates): max = candidates[0] for i in range(1, len(candidates)): if max.votes < candidates[i].votes: max = candidates[i] return max candidates = entries.values() result = [] while candidates: a = mymax(candidates) result.append(a) candidates.remove(a) for i in range(len(result)): print result[i].name, result[i].votes