Files
Igor-kr/Final control/3/TASK.md
T
Dmitry Belan ee235ece10
CI Check / lint-and-check (push) Failing after 9s
feat: implement legacy shop management system and add task documentation files
2026-07-18 12:25:32 +03:00

1.3 KiB

Задача 3. Анализатор URL (Строки, Словари, Функции)

Напишите программу из 3 функций для парсинга URL:

  1. parse_url(url) — принимает строку URL вида "https://example.com/path?key1=value1&key2=value2". Разбирает URL на части и возвращает словарь:

    {
        "protocol": "https",
        "domain": "example.com",
        "path": "/path",
        "params": {"key1": "value1", "key2": "value2"}
    }
    

    Если параметров нет, params должен быть пустым словарем.

  2. get_param(parsed_url, key, default=None) — принимает результат parse_url и возвращает значение параметра по ключу key. Если параметра нет, возвращает default.

  3. format_url(parsed_url) — принимает словарь из parse_url и собирает обратно строку URL.

Тесты:

  1. Распарсите URL: "https://api.github.com/search?q=python&sort=stars"
  2. Получите значение параметра q
  3. Соберите URL обратно и сравните с оригиналом