Lektioner

Introduktion til Programmering
5. Bonus: Kodeeksempel i Python

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:

Her finder vi antallet af gange, at ordene "lykke", "per" og "zenware" optræder i bogen 'Lykke-Per' af Henrik Pontoppidan.
Her finder vi antallet af gange, at ordene "lykke", "per" og "zenware" optræder i bogen 'Lykke-Per' af Henrik Pontoppidan.

Før vi dykker ned i selve koden, kommer her en kort beskrivelse af den overordnede tilgang til løsningen:

  1. Vælg hvilken tekstfil, som skal analyseres.
  2. Gennemgå teksten en linje af gangen, og:
    • Opdel linjen i ord.
    • Forøg antal gange hvert ord er fundet.
  3. 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 re
frequencyOfWords = {}

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 + 1

while 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: