The dictionary need to add every word in SpellingMistakes and the line number but it only adds the l
- by Will Boomsight
modules
import sys
import string
Importing and reading the files form the Command Prompt
Document = open(sys.argv[1],"r")
Document = open('Wc.txt', 'r')
Document = Document.read().lower()
Dictionary = open(sys.argv[2],"r")
Dictionary = open('Dict.txt', 'r')
Dictionary = Dictionary.read()
def Format(Infile):
for ch in string.punctuation:
   Infile = Infile.replace(ch, "")
for no in string.digits:
    Infile = Infile.replace(no, " ")
Infile = Infile.lower()
return(Infile)
def Corrections(Infile, DictWords):
Misspelled = set([])
Infile = Infile.split()
DictWords = DictWords.splitlines()
for word in Infile:
    if word not in DictWords:
        Misspelled.add(word)
Misspelled = sorted(Misspelled)
return (Misspelled)   
def Linecheck(Infile,ErrorWords):
Infile = Infile.split()
lineno = 0
Noset = list()
for line in Infile:
    lineno += 1
    line = line.split()
    for word in line:
        if word == ErrorWords:
            Noset.append(lineno)
sorted(Noset)
return(Noset)
def addkey(error,linenum):
Nodict = {}
for line in linenum:
    Nodict.setdefault(error,[]).append(linenum)
    return Nodict
FormatDoc = Format(Document)
SpellingMistakes = Corrections(FormatDoc,Dictionary)
alp = str(SpellingMistakes)
for word in SpellingMistakes:
    nSet = str(Linecheck(FormatDoc,word))
    nSet = nSet.split()
    linelist = addkey(word, nSet)
print(linelist)
#
#    for word in Nodict.keys():
#             Nodict[word].append(line)
Prints each incorrect word on a new line