Задача курса
NumPy clip: ограничение значений и подсчёт выбросов
Курс «NumPy и pandas: практический тренажёр» · урок «Векторная арифметика и where/clip»
Условие
Аудит насыщения: подсчёт выбросов и clip за один проход
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.
Что нужно сделать
Напишите программу, которая анализирует насыщение целочисленного массива:
- Читает из
stdinстроку с целыми числами через пробел — элементы массиваdata. Создаётdata = np.array([...], dtype=int). - Читает вторую строку с двумя целыми числами
loиhi— границы допустимого диапазона (lo < hi). - Вычисляет три счётчика с помощью булевой выборки и
len:
n_below— количество элементов строго меньшеlo;n_inside— количество элементов, удовлетворяющих(data >= lo) & (data <= hi);n_above— количество элементов строго большеhi.
- Выводит первую строку:
below=<n_below> inside=<n_inside> above=<n_above>. - Вычисляет
clipped = np.clip(data, lo, hi)и выводит элементыclippedчерез пробел. - Выводит элементы исходного массива
dataчерез пробел — убедитесь, что он не изменился.
Итого ровно три строки вывода.
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
- Строка 1: целые числа через пробел — элементы массива
data(от 3 до 10 элементов). - Строка 2: два целых числа через пробел:
lo hi.
Формат вывода
Ровно три строки:
below=<n_below> inside=<n_inside> above=<n_above>— счётчики насыщения.- Элементы
clippedчерез пробел. - Элементы исходного
dataчерез пробел.
Примеры
Пример 1
- Ввод
-5 0 3 8 15 7 2 0 10
- Ожидаемый результат
below=1 inside=5 above=1 0 0 3 8 10 7 2 -5 0 3 8 15 7 2
Попробуйте решить
РешениеPython
Без регистрации · результат не сохраняется
