Форум сайта python.su
Друзья, помогите пожалуйста решить такого рода вопрос.
Код:
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
Офлайн
if line.endswith(".qs"): # выполняется, когда строка заканчивается на .qs ... _line += line + "\n" if line.endswith(otveti): # собственно здесь будет false ... else: # и будет выполняться это условие, т.е. уже второй раз. _line += line + "\n"
Отредактировано r00tl3ss (Апрель 19, 2016 02:03:59)
Офлайн
Бьюсь челом
сначала неправильно прочитал
Офлайн
r00tl3ss
Спасибо, что открыли глаза.
Действительно, ошибка детского сада.
FishHook
Вы в любом случае не прогадали. Я вчера бился всем, чем только можно.
Офлайн