/bo-energo-test

Тестовые задания по Python БО-ЭНЕРГО

Primary LanguageHTML

Для прохождения первого этапа собеседования необходимо решить 2 тестовых задания.

Тестовые задания Python-программисту

Задания ниже нужно выполнить используя любой веб-фреймворк Python (Flask, FastApi, Django) и любую базу данных. Результат выполнения задач нужно опубликовать на Github, Gitlab или Bitbucket, и прислать ссылку на опубликованный код.

Первое задание

Напишите сервис, который будет находить корни квадратного уравнения $a\cdot x^2 + b\cdot x + c = 0$. Самостоятельно определите наиболее оптимальную структуру возвращаемых данных.

В качестве входных данных в сервис передаются значения a, b, c.

💡 Напоминание. Корни квадратного уравнения рассчитываются следующим образом:
  • если $b^2-4\cdot a \cdot c < 0$, то уравнение не имеет решений;
  • если $b^2-4\cdot a \cdot c = 0$, то уравнение имеет одно решение $x = -\frac{b}{2\cdot a}$;
  • если $b^2-4\cdot a \cdot c > 0$, то уравнение имеет два решения: $x = \frac{-b \pm \sqrt{b^2-4\cdot a \cdot c}}{2\cdot a}$.

Второе задание

Есть группа из 100 предметов. Предметы могут быть синего, зелёного и красного цвета. Известно, что предметов синего цвета сильно больше, чем предметов зелёного цвета, а предметов зелёного цвета немного больше, чем предметов красного цвета. Напишите сервис, который будет принимать номер предмета и пытаться угадать его цвет. Логику работы сервиса определите самостоятельно.

Запуск

Задания были выполнены с помощью фреймворка Flask

Клонируйте репозиторий и установите необходимые пакеты:

git clone https://github.com/joerude/bo-energo-test/
cd bo-energo-test
pip install -r requirements.txt

Запустите:

python app.py

Запуск через Docker:

docker build --tag python-docker .    
docker run -d -p 5000:5000 python-docker

Затем перейдите на свой локальный сервер (http://127.0.0.1:5000/)