Войти Создать аккаунт

Ошибки и исключения · 15 из 15

Все ошибки разом

Тамара Ивановна переносит карточки пациентов из старой программы: выгрузка — строки «фамилия;год рождения;полис». В прошлый раз загрузка падала на первой кривой строке: Тамара Ивановна исправляла её, запускала снова — и программа падала на следующей. Сорок запусков за вечер. Теперь ей нужны все ошибки разом, у каждой — номер строки, а где строку погубила чужая ошибка (год не разобрался числом) — и исходная причина: её посмотрит программист.

Что сделать

Разберите выгрузку в карточки, а если есть кривые строки — поднимите одну группу со всеми их ошибками сразу.

Что приходит

  • stroki — строки выгрузки «фамилия;год;полис»

Что вернуть

Список карточек, если все строки годятся; иначе — ExceptionGroup("карточки с ошибками", [...]) с ошибками строк вместо ответа.

Допишите функцию zagruzit в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

Две хорошие строки дают две карточки: "Иванова; 1985 ;1234567890123456" — {"familiya": "Иванова", "god": 1985, "polis": "1234567890123456"}. Будь вторая строка "Петров;19x0;…", ответа не было бы вовсе: поднялась бы группа с ошибкой OshibkaStroki номер 2 «год не число», причина которой — ValueError от int.

Тот же пример кодом
Вызов
zagruzit(["Иванова; 1985 ;1234567890123456", "Петров;1990;6543210987654321"])
Вернуть
[{'familiya': 'Иванова', 'god': 1985, 'polis': '1234567890123456'}, {'familiya': 'Петров', 'god': 1990, 'polis': '6543210987654321'}]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.