Задача курса
Python: Диагностика виртуального окружения
Курс «Python для продвинутых: ООП, типизация и тестирование» · урок «Виртуальное окружение: создание, активация и установка зависимостей»
Условие
Диагностика виртуального окружения
Представь, что ты пишешь вспомогательный скрипт для команды: он читает лог-вывод команд диагностики виртуального окружения и определяет, всё ли настроено правильно.
Что уже дано
Проверяющая система ничего не создаёт заранее. Твой скрипт получает данные через stdin и должен напечатать результат в stdout.
Что нужно сделать
Напиши программу, которая:
- Читает из
stdinнесколько строк — каждая строка представляет вывод одной диагностической команды. - Для каждой строки определяет, является ли путь локальным (содержит
.venvкак компонент пути) или системным (не содержит.venv). - Выводит итоговый вердикт:
- Если все строки содержат
.venv— выведиOK: виртуальное окружение активно. - Если хотя бы одна строка не содержит
.venv— выведиWARN: обнаружен системный интерпретатори на следующих строках выведи все «подозрительные» строки в том же порядке, в котором они встретились во вводе (каждую с префиксом-).
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
Первая строка — целое число n (1 ≤ n ≤ 20): количество диагностических строк.
Следующие n строк — произвольные непустые строки, имитирующие вывод команд which python, which pip, where python и т. п.
Формат вывода
Если все строки содержат .venv:
OK: виртуальное окружение активно
Если хотя бы одна строка не содержит .venv:
WARN: обнаружен системный интерпретатор - <подозрительная строка 1> - <подозрительная строка 2> ...
Примеры
Пример 1
- Ввод
3 /home/user/project/.venv/bin/python /home/user/project/.venv/bin/pip /home/user/project/.venv/bin/python3
- Ожидаемый результат
OK: виртуальное окружение активно
