Задача курса

Python: Диагностика виртуального окружения

Курс «Python для продвинутых: ООП, типизация и тестирование» · урок «Виртуальное окружение: создание, активация и установка зависимостей»

Условие

Диагностика виртуального окружения

Представь, что ты пишешь вспомогательный скрипт для команды: он читает лог-вывод команд диагностики виртуального окружения и определяет, всё ли настроено правильно.

Что уже дано

Проверяющая система ничего не создаёт заранее. Твой скрипт получает данные через stdin и должен напечатать результат в stdout.

Что нужно сделать

Напиши программу, которая:

  1. Читает из stdin несколько строк — каждая строка представляет вывод одной диагностической команды.
  2. Для каждой строки определяет, является ли путь локальным (содержит .venv как компонент пути) или системным (не содержит .venv).
  3. Выводит итоговый вердикт:
  • Если все строки содержат .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: виртуальное окружение активно

Попробуйте решить

РешениеPython
Без регистрации · результат не сохраняется
Python: Диагностика виртуального окружения