views:

87

answers:

1
#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
+1  A: 
David Morrissey