Уникальные метки участников забега

тема: Пропуски, дубликаты, выбросы · уровень: базовый

Условие

В файле data.csv хранятся результаты забегов школьной спартакиады. Одна и та же фамилия и имя могли быть записаны с разным регистром букв или лишними пробелами в начале и конце строки.

Для указанного забега необходимо посчитать количество уникальных участников по столбцу runner_label. Нормализованной меткой называется результат применения к исходной строке двух операций: удаления пробелов в начале и конце строки, затем перевода всех букв в нижний регистр. Пустые метки после удаления пробелов не учитываются.

Две записи относятся к одному участнику тогда и только тогда, когда их нормализованные метки совпадают. При совпадении нормализованных меток записи считаются одной уникальной меткой.

Формат ввода

Рядом с программой находится файл data.csv в кодировке UTF-8 с разделителем-запятой и первой строкой заголовков. Файл содержит столбцы result_id, race_id, runner_label, finish_seconds.

В стандартный ввод подаётся одно целое число race_id — номер забега, для которого требуется выполнить подсчёт.

Формат вывода

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

Дробной части у ответа нет, выведите целое число.

Ограничения

В файле содержится от 300 до 1000 строк с результатами, не считая заголовка.

result_id — целое число от 1 до 10000.

race_id — целое число от 1 до 20. Во входе указан номер забега, который присутствует в файле хотя бы в одной строке.

runner_label — строка длиной от 0 до 50 символов. Строка может быть пустой или состоять только из пробелов.

finish_seconds — целое число от 180 до 3600.

Решить задачу с автопроверкой на Python →

Куда дальше