I denne bonuslektion tager vi et nærmere kig på et Python-program, som tæller antal ord i en tekstfil.
Sådan her ser programmet ud, når man kører det:
Før vi dykker ned i selve koden, kommer her en kort beskrivelse af den overordnede tilgang til løsningen:
Vælg hvilken tekstfil, som skal analyseres.
Gennemgå teksten en linje af gangen, og:
Opdel linjen i ord.
Forøg antal gange hvert ord er fundet.
Når teksten er analyseret, kan brugeren slå ord op efter deres ønske.
Omsat til Python-kode, kan programmet f.eks. se således ud:
import refrequencyOfWords = {}bookName = input("Enter the book you'd like to search through: ")file = bookName + ".txt"book = open(file, "r", encoding="utf8")for line in book: wordList = re.split('\; |\, |\. |\"|\! |\n| ', line) for word in wordList: if word: lowercaseWord = word.lower() timesCountedSoFar = frequencyOfWords.get(lowercaseWord, 0) frequencyOfWords[lowercaseWord] = timesCountedSoFar + 1while True: searchedWord = input("Give me a word: ").lower() wordOccurrences = frequencyOfWords.get(searchedWord) if (wordOccurrences): print('"{}" occured {} times.'.format(searchedWord, wordOccurrences)) else: print('The word "{}" was never used in the book: {}.'.format(searchedWord, bookName))
Nedenfor er programmet beskrevet i mindre dele, så du kan få en bedre forståelse af, hvad de enkelte linjer koder rent faktisk gør: