Мне нужно посчитать, сколько раз данное слово появляется в заданном текстовом файле, это адрес Геттисберга. По какой-то причине он не учитывает мой вклад "нации", поэтому вывод выглядит так:
'nation' is found 0 times in the file gettysburg.txt
Вот код, который у меня есть на данный момент, может кто-то указать, что я делаю неправильно?
fname = input("Enter a file name to process:")
find = input("Enter a word to search for:")
text = open(fname, 'r').read()
def processone():
if text is not None:
words = text.lower().split()
return words
else:
return None
def count_word(tokens, token):
count = 0
for element in tokens:
word = element.replace(",", " ")
word = word.replace("."," ")
if word == token:
count += 1
return count
words = processone()
word = find
frequency = count_word(words, word)
print("'"+find+"'", "is found", str(frequency), "times in the file", fname)
Моя первая функция разбивает файл на строку и переводит все буквы в нижний регистр. Второй снимает пунктуацию и должен считать слово, указанное во входных данных.
Принимая мой первый урок кодирования, если вы видите больше недостатков в моем кодировании или улучшениях, которые могут быть сделаны, а также помогаете найти решение моей проблемы, не стесняйтесь.