import string f = open("msnd.txt", "r") myLetters = {} totalLetters = 0 letter = f.read(1) letter = letter.lower() while( len(letter) > 0): if ( letter in string.lowercase ): totalLetters = totalLetters + 1 if ( myLetters.has_key(letter) ): myLetters[letter] = myLetters[letter] + 1 else: myLetters[letter] = 1 letter = f.read(1) letter = letter.lower() f.close() print "All done!, Total letters is:", totalLetters newList = [] for item in myLetters.keys(): percent = 100 * ( myLetters[item] / float(totalLetters)) newList.append( (percent, item) ) newList.sort() newList.reverse() for myTuple in newList: p = myTuple[0] l = myTuple[1] print l, " - ", p