Ошибки и исключения · 13 из 13
Где именно сломалось
Задействованы также: Строки, Вложенные структуры
Настройки регистратуры лежат текстом: раздел в квадратных скобках, дальше строки «ключ = значение». Когда файл кривой, сообщение «ошибка разбора» не помогает никому.
Что сделать
Разберите настройки регистратуры и назовите, в какой строке и что именно сломалось.
Что приходит
stroki— строки файла: раздел в квадратных скобках, под нимключ = значение
Что вернуть
Пару: словарь «раздел → словарь „ключ → значение“» и список ошибок вида "строка 2: нет знака равенства"; виды ошибок — в «Подробных правилах».
Допишите функцию razobrat_nastroyki в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
["[а]", "мусор", "= 5"]: раздел «а» заведён, во второй строке нет знака равенства, в третьей слева от него пусто. Ответ — ({"а": {}}, ["строка 2: нет знака равенства", "строка 3: пустой ключ"]).
razobrat_nastroyki(['[приём]', 'начало = 8', 'конец = 20'])
({'приём': {'начало': '8', 'конец': '20'}}, [])
Функция принимает список строк.
Возвращает кортеж из двух значений: словарь «раздел — словарь ключ-значение» и список сообщений об ошибках. Сообщение имеет вид «строка N: текст». Нумерация с единицы. Пустые строки и строки, начинающиеся с решётки, пропускаются.
Ошибки: «ключ вне раздела» — пара встретилась до первого раздела; «нет знака равенства» — строка не раздел и не пара; «пустой ключ» — слева от равенства пусто. Значения обрезаются по краям от пробелов.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.