/programmer-interview

Задачи для отбора в команду программистов

Primary LanguagePython

Общая информация

Этот репозиторий содержит базовые задачи которые необходимо выполнить для успешного прохождения отборочного этапа в команду программистов MSU-Robotics

Описание

Задачи содержатся в папке tasks, вам необходимо реализовать базовые функции языка python и методы некоторых объектов не используя эти функции и методы, например:

def my_sum(arr):
    """
    Выполняет суммирование элементов списка или картежа, возвращает
    одно число.
    """
    pass

в этом примере вам необходимо написать логику того как эта функция должна работать, что бы обеспечивалось ожидаемое поведение, например вот так:

def my_sum(arr):
    result = 0
    for i in arr:
        result += i
    return result

для проверки правильности реализации, в папке tests имеются тесты

Для выполнения задач вам необходимо:

  • установить интерпретатор языка Python
  • настроить любимую IDE, vscode или Pycharm
  • клонировать этот репозиторий любым удобным для вас способом
  • загрузить его в IDE
  • реализовать все функции из файла elementary.py
  • отправить результат вашей работы

Запуск тестов

Для запуска тестов необходимо выполнить python -m unittest tests/elementary_tests.py если у вас возникает ошибка:

Traceback (most recent call last):
  File ".../programmer-interview/tests/elementary_tests.py", line 2, in <module>
    from tasks.elementary import *
ModuleNotFoundError: No module named 'tasks'

то вам необходимо добавить путь до текущей папки в переменную окружения PYTHONPATH для windows

set PYTHONPATH=%PYTHONPATH%;C:\путь_до_текущей_папки

После запуска тестов вы должны увидеть результат

Ran 10 tests in 0.001s

FAILED (failures=7, errors=2)

в данном примере тесты выполнены неудачно, выполнив все верно вы увидите:

Ran 10 tests in 0.000s

OK