Код:
def read_data(): otveti = (".ans", ".tans") _line = "" dict_with_ans = collections.defaultdict (list) dict_with_tans = collections.defaultdict (list) fh = open("questions2.txt", encoding = "utf-8") for line in fh: line = line.strip("\n").strip("") if line.endswith(".qs"): line = line.rstrip(".qs") _line += line + "\n" if line.endswith(otveti): x = dict_with_tans[_line] y = dict_with_ans[_line] _line = "" if line.endswith(".ans"): line = line.rstrip(".ans") y.append(line) elif line.endswith(".tans"): line = line.rstrip(".tans").lower() x.append(line) y.append(line) else: _line += line + "\n" return dict_with_ans, dict_with_tans
Пример строк в файле:
Возвращает копию строки s, в которой все символы приведены.qs
к нижнему регистру
s.lower().tans
Функция распихивает по словарям вопросы и ответы к тесту.
Первая строчка вопроса помечена расширением .qs
правильный ответ помечен .tans
Вопрос: почему строка с расширением .qs попадает в словарь дважды?
Уже не в состоянии думать над этой проблемой. Заранее спасибо за помощь.