0
0 комментариев

Добрый день.
Есть файл test1 его содержимое:

!Сколько будет 2 + 2?
-5
-6
+4
-3
#
!Сколько будет 2 + 3?
-5
+6
-4
-3
#
!Кто такой Александ Македонский?
-гаплит
+величайший завоеватель всех времен
-Цезарь
-Сын Зевса

Правильно ли у меня составлена логика?
Если в файле знак !-это вопрос
— Не правильный ответ
+ правильный ответ
«#» — новый вопрос, стирается список с ответами

Скрипт чтения файла:

import json
 
 
with open("test1", "r", encoding="utf-8") as file:
    with open("test.json", "w", encoding="utf-8") as f:
        question_test = dict()
        answer_list = list()
        for line in file.readlines():
            if line[0] == "!":
                qwestion = line
                question_test[qwestion] = []
            elif line[0] == "-":
                false_answer = line
                answer_list.append(false_answer)
                negative_answer = line
            elif line[0] == "+":
                tru_anser = line
                answer_list.append(tru_anser)
            elif line[0] == "#":
                del answer_list[:]
            question_test[qwestion] = answer_list
        json.dump(question_test, f, ensure_ascii=False, indent=2)

Сама проблема состоит в том при сохранение в json у меня получается такой результат:

{
  "!Кто такой Александ Македонский?\n": [
    "-гаплит\n",
    "+величайший завоеватель всех времен\n",
    "-Цезарь\n",
    "-Сын Зевса"
  ],
  "!Сколько будет 2 + 2?\n": [
    "-гаплит\n",
    "+величайший завоеватель всех времен\n",
    "-Цезарь\n",
    "-Сын Зевса"
  ],
  "!Сколько будет 2 + 3?\n": [
    "-гаплит\n",
    "+величайший завоеватель всех времен\n",
    "-Цезарь\n",
    "-Сын Зевса"
  ]
}

т.е ключь создается а значения только последнего вопроса в файле. Нужен пинок от более опытных коллег)). Спасибо


Добавить комментарий