Доля подходящих событий теплицы
Условие
В файле data.csv записаны датчики, установленные в теплице. Для каждого датчика известны его идентификатор, зона и температура. Значение температуры может отсутствовать.
В файле events.csv записаны измерения влажности, поступившие от датчиков. Каждое событие ссылается на датчик по его идентификатору.
Требуется найти долю событий, для которых температура соответствующего датчика не меньше заданного порога, а влажность события не меньше заданного порога. Если температура датчика отсутствует, такое событие не удовлетворяет условиям.
Искомая доля в процентах вычисляется по формуле 100 * p / q, где p — число подходящих событий, а q — общее число строк в файле events.csv. При равенстве значения и порога событие считается подходящим.
Формат ввода
Рядом с программой находятся два файла в кодировке UTF-8 с разделителем запятая.
Файл data.csv содержит от 300 до 1000 строк данных и заголовок: id,zone,temperature
id — целочисленный идентификатор датчика, zone — строковое имя зоны, temperature — целая температура в градусах Цельсия или пустая строка.
Файл events.csv содержит от 300 до 1000 строк данных и заголовок: event_id,sensor_id,humidity
event_id — целочисленный идентификатор события, sensor_id — идентификатор датчика из файла data.csv, humidity — целая влажность в процентах.
В стандартный ввод подаются две строки. В первой строке задан целый порог температуры T. Во второй строке задан целый порог влажности H.
Формат вывода
Выведите найденную долю событий в процентах с двумя знаками после точки.
Ограничения
Количество строк данных в data.csv: от 300 до 1000.
Количество строк данных в events.csv: от 300 до 1000.
id и sensor_id — целые числа от 1 до 1000000. Все значения sensor_id существуют среди значений id.
Длина zone — от 1 до 20 символов.
Температура — целое число от -20 до 60 либо пустая строка.
Влажность — целое число от 0 до 100.
Пороги T и H — целые числа от -100 до 100.
Файл events.csv содержит хотя бы одну строку данных.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается