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

25 lines
1.3 KiB
Markdown

### Задача 3. Анализатор URL (Строки, Словари, Функции)
Напишите программу из 3 функций для парсинга URL:
1. `parse_url(url)` — принимает строку URL вида `"https://example.com/path?key1=value1&key2=value2"`. Разбирает URL на части и возвращает словарь:
```python
{
"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 обратно и сравните с оригиналом