Код Junior Модули, пакеты и окружения обновлено
Разобрать requirements.txt
Условие
Напишите parse_requirements(text): верните словарь «имя пакета в нижнем регистре -> спецификатор версии» (строка после имени без пробелов, может быть пустой). Пропускайте пустые строки, комментарии (# в начале и всё после # в строке) и опции, начинающиеся с - (например, -r base.txt). Имя пакета: латиница, цифры, -, _, .; квадратные скобки с extras (uvicorn[standard]) отбросьте.
Примеры
parse_requirements("Django>=5.2,<6\nrequests==2.32.3\n") // {"django":">=5.2,<6","requests":"==2.32.3"}
parse_requirements("") // {}
parse_requirements("# comment\n\n-r base.txt\npytest # tests\n") // {"pytest":""}
Как подойти
Подсказки: 2
split("#", 1)[0]отрезает комментарий.- Регулярка: имя, необязательные
[...], остаток.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.