Kmom05 7 mest förekommande ord

  • Författare
  • Meddelande
Användarvisningsbild

elinhb16

css-guru

  • Inlägg: 70
  • Blev medlem: 22 aug 2016, 13:05
  • Ort: Göteborg

Kmom05 7 mest förekommande ord

Inlägg02 nov 2016, 13:57

Hej!

Jag har fått komplettering på Kmom05 del 5 i marvin med kommentaren
"'dinah' är ett ord som borde ses som ett felstavat ord eftersom att det inte finns i 'words.txt' och borde varit borttaget vid uppgift 5."

Problemet är att i min fil 'words.txt' så finns 'Dinah' med. Är problemet att jag har .lower() i koden? Är det meningen att man skall skilja på ord som böjar på stor och liten bokstav?

Kod: Markera allt
import string
punkter = str.maketrans({key:None for key in string.punctuation})

def alice_main():
    """
    1: open file or default file
    """
    filename = input("Enter the file name: ")
    try:
        if filename == (""):
            file = open('alice-ch1.txt', 'r')
        else:
            file = open(filename)
        return file
    except Exception:
        print("Error, try again.")


def common_exclude():
    """
    4: display 7 most frequent words, exclude common-words.txt
    """
    file = alice_main()
    alicewords = dict()
    for line in file:
        words = line.translate(punkter).lower().split()
        for word in words:
            if word not in alicewords:
                alicewords[word] = 1
            else:
                alicewords[word] += 1
   
    # exclude common-words
    commonfile = open('common-words.txt')
    commonwords = dict()
    for line2 in commonfile:
        words2 = line2.translate(punkter).lower().split()
        for word2 in words2:
            if word2 not in commonwords:
                commonwords[word2] = 1
            else:
                commonwords[word2] += 1

    # sort words by value
    lst = list()
    for key, val in list(alicewords.items()):
        if not key in commonwords:
            lst.append((val, key))

    lst.sort(reverse=True)

    for key, val in lst[:7]:
        print(key, val)

   
def misspelled_exclude():
    """
    #5: display 7 most frequent words, exclude common words(common-words)
    and exclude misspelled words(words)
    """

    file = alice_main()
    alicewords = dict()
    for line in file:
        words = line.translate(punkter).lower().split()
        for word in words:
            if word not in alicewords:
                alicewords[word] = 1
            else:
                alicewords[word] += 1

    # exclude common-words
    commonfile = open('common-words.txt')
    commonwords = dict()
    for line2 in commonfile:
        words2 = line2.translate(punkter).lower().split()
        for word2 in words2:
            if word2 not in commonwords:
                commonwords[word2] = 1
            else:
                commonwords[word2] += 1

    # only include correct spelled
    spellfile = open('words.txt')
    spellwords = dict()
    for line3 in spellfile:
        words3 = line3.translate(punkter).lower().split()
        for word3 in words3:
            if word3 not in spellwords:
                spellwords[word3] = 1
            else:
                spellwords[word3] += 1


    # sort words by value
    lst = list()
    for key, val in list(alicewords.items()):
        if not key in commonwords:
            if key in spellwords:
                lst.append((val, key))

    lst.sort(reverse=True)

    for key, val in lst[:7]:
        print(key, val)
Senast redigerad av elinhb16 02 nov 2016, 14:12, redigerad totalt 1 gång.
Användarvisningsbild

reureya

javascriptare

  • Inlägg: 37
  • Blev medlem: 18 aug 2016, 16:40

Re: Kmom05 7 mest förekommande ord

Inlägg02 nov 2016, 14:10

"Dinah" är ju ett rättstavat namn och finns med i min words.txt också... Om jag kör alice-ch1.txt så får jag med "Dinah" i både uppgift 4 och uppgift 5. Jag använder också lower() och fick ingen komplettering. :/

Konstigt!
Användarvisningsbild

Palkess

javascriptare

  • Inlägg: 31
  • Blev medlem: 30 aug 2013, 13:23
  • Ort: Kalmar

Re: Kmom05 7 mest förekommande ord

Inlägg02 nov 2016, 22:25

Jag dubbelkollade det igen och såg att jag hade fel fil uppe när jag rättade ditt moment.
Måste varit pga min låga halt kaffe imorse :)

Har återkopplat på its på ditt moment!

// Jonas
Användarvisningsbild

elinhb16

css-guru

  • Inlägg: 70
  • Blev medlem: 22 aug 2016, 13:05
  • Ort: Göteborg

Re: Kmom05 7 mest förekommande ord

Inlägg03 nov 2016, 14:18

Tack för svaret!

Blev väldigt osäker när jag inte förstod vad som var fel :)

Vilka är online

Användare som besöker denna kategori: lioo19 och 15 gäster