Я пытаюсь выполнить линейный поиск по 2 .txt файлам.Один - это история, другой - слова из истории в словаре.Я пытаюсь выполнить поиск по каждому файлу, а затем сравнить каждое слово между собой. Если слово отсутствует в словаре, оно должно быть возвращено с ошибкой и распечатано.Поиск немного сбивает меня с толку, поэтому любая помощь будет признательна!Код в моем цикле while - единственный пример, с которым мне приходится работать, и я пытаюсь изменить его в соответствии со своим сценарием.Если у вас есть другие способы сделать это, дайте мне знать, так как я изо всех сил пытаюсь понять концепции линейного поиска для сравнения между тем, что я искал.
import re
# This function takes in a line of text and returns
# a list of words in the line.
def split_line(line):
return re.findall('[A-Za-z]+(?:\'[A-Za-z]+)?', line)
# --- Read in a file from disk and put it in an array.
dictionary_list = []
alice_list = []
for line in open("dictionary.txt"):
line = line.strip()
dictionary_list.append(split_line(line))
for line in open("AliceInWonderLand200.txt"):
line = line.strip()
dictionary_list.append(split_line(line))
"""-----Linear Search-----"""
i = 0
while i < len(dictionary_list) and dictionary_list[i] != alice_list:
i += 1
if i == len(dictionary_list):
print("The Name is not on the list." + alice_list)
else:
alice_list.append(i)
print("The name is at position", i)