Олимпиадный тренинг

Задача . Regex-Quest. 10. Финальная анкета


Задача

Темы:
Шаг 10: Финальная анкета
Сложно
Финал лета. Деканат прислал тебе CSV-файл с заявлениями абитуриентов и сказал: «Скажи, сколько из них вообще можно рассматривать». В файле пять полей: ID, ФИО, email, телефон, балл. Если хоть одно поле в строке кривое — вся анкета летит в мусорку. Это твой главный тест. Проверь все анкеты и доложи число валидных. Пройдёшь — станешь главным аналитиком приёмной комиссии. Не пройдёшь — будешь до Нового года считать степлеры на складе.
Условие задачи
 

Дано N заявлений в формате CSV (разделитель — символ |). Каждое заявление содержит 5 полей:

  1. ID: ровно 2 заглавные латинские буквы + 4 цифры. Пример: AB1234
  2. ФИО: фамилия (русская, с заглавной буквы) + пробел + заглавная буква + точка + заглавная буква + точка. Пример: Иванов И.И.
  3. Email: имя@домен.tld, где tld — 2–4 латинские буквы.
  4. Телефон: ровно +7 и 10 цифр. Пример: +79991234567
  5. Балл: целое число от 1 до 100.

Заявление считается валидным, если ВСЕ пять полей соответствуют формату.

Входные данные

В первой строке — целое число N. Далее N строк с заявлениями.

Выходные данные

Одно целое число — количество валидных заявлений.

Подсказка: Используй re.fullmatch() — в отличие от match, она требует, чтобы шаблон совпал с всей строкой, а не только с её началом.

Примеры
Входные данныеВыходные данные
1
3
AB1234|Иванов И.И.|ivan@msu.ru|+79991112233|85
XY99|Петров|x@y|123|abc
CD5678|Петров П.А.|p@hse.ru|+79995554433|92
2
2
2
MK0001|Сидорова С.С.|s@spbu.ru|+74951234567|78
bad|line|here|now|x
1

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя