Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import division
- inputFileName = 'gb.txt'
- def readfile(fname):
- f = open(fname, 'r')
- s = f.read()
- f.close()
- return s.lower()
- def countChars(t):
- charDict = {}
- for char in t:
- if char in charDict: charDict[char] += 1
- else: charDict[char] = 1
- return charDict
- def findMostCommon(charDict):
- mostFreq = ''
- mostFreqCount = 0
- for k in charDict:
- if charDict[k] > mostFreqCount:
- mostFreqCount = charDict[k]
- mostFreq = k
- return mostFreq
- def printCounts(charDict):
- for k in charDict:
- #First, handle some chars that don't show up very well when they print
- if k == '\n': print '\\n', charDict[k] #newline
- elif k == ' ': print 'space', charDict[k]
- elif k == '\t': print '\\t', charDict[k] #tab
- else: print k, charDict[k] #Normal character - print it with its count
- def printAlphabetically(charDict):
- keyList = charDict.keys()
- keyList.sort()
- for k in keyList:
- #First, handle some chars that don't show up very well when they print
- if k == '\n': print '\\n', charDict[k] #newline
- elif k == ' ': print 'space', charDict[k]
- elif k == '\t': print '\\t', charDict[k] #tab
- else: print k, charDict[k] #Normal character - print it with its count
- def printByFreq(charDict):
- aList = []
- for k in charDict:
- aList.append([charDict[k], k])
- aList.sort() #Sort into ascending order
- aList.reverse() #Put in descending order
- for item in aList:
- #First, handle some chars that don't show up very well when they print
- if item[1] == '\n': print '\\n', item[0] #newline
- elif item[1] == ' ': print 'space', item[0]
- elif item[1] == '\t': print '\\t', item[0] #tab
- else: print item[1], item[0] #Normal character - print it with its count
- def main():
- text = readfile(inputFileName)
- charCounts = countChars(text)
- mostCommon = findMostCommon(charCounts)
- #print mostCommon + ':', charCounts[mostCommon]
- #printCounts(charCounts)
- #printAlphabetically(charCounts)
- printByFreq(charCounts)
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement