- создать виртуальное окружение
- установить зависимости из файла requirements.txt
- запустить тесты
python -m pytest
- решение для второго задания находится в файле pangea.py
- Выполнять на python 3.9.8.
- Результат присылать в виде ссылки на github репозиторий.
- Можно использовать любые подходящие для выполнения задания python-пакеты, если не указано обратное.
- pytest: На сайте https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites есть таблица «Programming languages used in most popular websites» • Необходимо реализовать параметризованный тест, проверяющий, что в этой таблице нет строк, у которых значение в столбце «Popularity(unique visitors per month)» меньше передаваемого в качестве параметра в тест значения. • Если такие строки в таблице есть, тест выводит сообщение об ошибке, перечисляя строки с ошибками в виде, пример: “Yahoo (Frontend:JavaScript|Backend:PHP) has 75000 unique visitors per month. (Expected more than 500000)” • Тест должен запускаться для значений: [10^7, 1.5 * 10^7, 5 * 10^7, 10^8, 5 * 10^8, 10^9, 1.5 * 10^9] • При реализации теста необходимо учитывать, что данные из этой таблицы могут понадобиться и в других тестах. Хранение этих данных должно быть реализовано так, чтобы ими было удобно пользоваться в других тестах.
- Алгоритмы
- Существует поле клеток размером M*N.
- Каждая клетка может быть либо сушей, либо водой.
- На поле находится плот размером в 1 клетку.
- Плот может двигаться только вверх, вниз, вправо и влево.
- Необходимо реализовать:
- Генерации случайной «Пангеи» на поле.
- механизм поиска кратчайшего пути из точки A в точку B на такой карте.
- Параметры M, N, доля суши от площади поля и координаты точек A и B задаются пользователем (координаты A и B ожидаются от пользователя уже после генерации и представления сгенерированной карты пользователю).