Skip to content

isomadinow/TaskShorterPathGraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Задача поиск кратчайшего пути.

alt text

Backend

Тестовое задание. Создать граф вывести в Лог (log) (текстовый файл). Задача из вершины 1 найти кратчайший путь к вершине 6. Решения название файла скрипта graph_shortest_path.py и log.

Решение задачи

Данный код реализует поиск кратчайшего пути в графе с помощью алгоритма обхода в ширину (BFS). Программа строит граф на основе предоставленной строки, где каждая вершина представлена числом, за которым следует список соседей через запятую. Затем осуществляется поиск кратчайшего пути между заданными вершинами.

Методы

  • build_graph(graph_str) - Метод build_graph преобразует строку, представляющую граф, в словарь, где ключами являются вершины, а значениями - списки их соседей.

  • bfs_shortest_path(graph, start, end) - Метод bfs_shortest_path выполняет поиск кратчайшего пути в графе с помощью алгоритма обхода в ширину (BFS). Принимает на вход словарь graph, представляющий граф, и вершины start и end, между которыми осуществляется поиск пути. Возвращает кратчайший путь в виде списка вершин.

Задача парсинг данных(Python-playwright)

Страница https://www.python.org/downloads/ - спарсить таблицу «Python releases by version number» с заголовками «Release version», «Release date», «Download»(полная ссылка), «Release Notes»(полная ссылка). Формат выходного файла - данные должны сохраняться в формате .xlsx. Решения название файла скрипта parsing_website_py_org.py и .xlsx файл.

Решение задачи

Скрапинг релизов Python с помощью Playwright

Данный скрипт позволяет собирать информацию о последних релизах Python с веб-страницы официального сайта Python. Он использует библиотеку Playwright для автоматизации веб-скрапинга и библиотеку Pandas для сохранения данных в файл Excel.

Зависимости

pip install pandas playwright

Методы

  • scrape_python_releases(url) - Метод scrape_python_releases принимает URL веб-страницы с релизами Python и возвращает список словарей, каждый из которых содержит информацию о версии релиза, дате выпуска, ссылке на загрузку и ссылке на заметки о релизе.
  • save_to_excel(data, filename) - Метод save_to_excel сохраняет данные в формате Excel. Принимает список словарей data, содержащий информацию о релизах Python, и имя файла filename, в который нужно сохранить данные.

Задача написать рекурсивую функцию

Поиск всех названий компании и их id, вернуть кортеж данных ((“title”, id),(…)…). Данные: приложение “new_test_hw.json”. Решение название файла скрипта extract_companies.py и файл json new_test_hw.json.

Решение задачи

Извлечение компаний из JSON-файла

Данный скрипт позволяет извлечь информацию о компаниях из JSON-файла и представить её в виде списка кортежей, где каждый кортеж содержит название компании и её идентификатор.

Методы

  • extract_companies(data) - Метод extract_companies принимает данные в формате JSON и рекурсивно проходит по структуре данных, извлекая название и идентификатор каждой компании. Возвращает список кортежей, где каждый кортеж содержит название компании и её идентификатор.

alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages