Download this file.
Feb 13, 15:36 - Calvin: Code is clear and easy to follow. My suggestion is to put wrap this in a few functions so that it's easier to import this module and use it.
Feb 22, 17:51 - Ping (line 23): Don't need the outermost two pairs of parentheses on this line.
Feb 22, 17:53 - Ping (lines 11, 15, 33, 35, 39, 42): These blank lines don't seem necessary to me.
Feb 22, 17:53 - Ping (line 19): Don't need the outermost two pairs of parentheses on this line.
Please log in if you would like to add comments. | |
1 | import speling.py
| 2 | import string
| 3 |
| 4 | if import_entries('dict.txt') != 0
| 5 | return "Exiting program, no dictionary file"
| 6 |
| 7 | myFile = open("doc.txt")
| 8 | correctionList = []
| 9 |
| 10 | for line in myFile:
| 11 |
| 12 | # Works at word-level via line-by-line feed of file
| 13 | x = line.split()
| 14 | for word in x:
| 15 |
| 16 | # Strips off non-alphanumeric & non-apostrophe characters
| 17 | y = ""
| 18 | for c in word:
| 19 | if (c <= 'z') or (c == "'"):
| 20 | y = y + c
| 21 |
| 22 | # Checks the word against dictionary
| 23 | if (check_word(string.lower(y)) != []) or (check_word(y) != []):
| 24 | # good word, skip
| 25 | else:
| 26 | # add it to the list of misspelled words
| 27 | correctionList.extend(y)
| 28 |
| 29 |
| 30 | # At this point, we have a list of misspelled words, with duplications
| 31 | # thus, we can make a function that will collect the duplicates
| 32 | def count(myList):
| 33 |
| 34 | d = {}
| 35 |
| 36 | # Initializes dictionary
| 37 | for c in myList:
| 38 | d[c] = 0
| 39 |
| 40 | for c in myList:
| 41 | d[c] = d[c] + 1
| 42 |
| 43 | return d
| 44 |
| 45 | # Use a dictionary to collect the duplicates.
| 46 | z = count(correctionList)
| 47 |
| 48 | # Make list so we an sort it and print
| 49 | a = []
| 50 | for key in z:
| 51 | a.extend(key + " (" + z[a] + ") \n")
| 52 |
| 53 | print a.sort() |
|