Ошибки и исключения · 13 из 21
Записи, которые не разобрать
Дело о лишнем часе. Ночная синхронизация оборвалась на полуслове, и в выгрузке записей к врачам среди нормальных строк «02:30;Петров;терапевт» попадаются обрывки: «02:30;;», «25:10;Иванова;лор». Раньше программа регистратуры падала на первой же кривой строке, и все записи после неё пропадали. Тамара Ивановна просит: разобрать всё, что разбирается, и показать пальцем остальное.
Что сделать
Разберите строки записей; битые не роняют разбор, а попадают в список номеров для Тамары Ивановны.
Что приходит
stroki— строки записей: открытый файл или список; строка —время;фамилия;врач
Что вернуть
Пару (записи, битые): записи — кортежи (минуты, фамилия, врач) по порядку, битые — номера строк с 1.
Допишите функцию razobrat_zapisi в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
razobrat_zapisi(["02:30;Петров;терапевт", "02:30;Сидорова;терапевт", "02:30;;"])
([(150, 'Петров', 'терапевт'), (150, 'Сидорова', 'терапевт')], [3])
Строка — три части через точку с запятой: время, фамилия, врач. Пробелы вокруг частей (и перевод строки в конце) убираются.
Время — как в «Времени приёма»: часы одна-две цифры от 0 до 23, двоеточие, минуты ровно две цифры от 00 до 59; в записи оно становится минутами от полуночи. Фамилия и врач не пустые.
Строка, где хоть что-то не так (частей не три, время негодное, фамилия или врач пустые, строка пустая), — битая: её номер, считая с 1, идёт во второй список, и разбор продолжается со следующей.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.