Дан массив связей пользователей социальной сети. Определите, существует ли связь между любыми двумя заданными пользователями. Например, если у двух пользователей есть общие друзья или у их друзей есть общие друзья и т.д.
Ввод: информация о связях, как кортеж (tuple) кортежей; первое имя (str); второе имя (str).
Вывод: существует ли связь между пользователями (bool).
Проверка: при проверке вызывается функция check_relation()
.
def check_relation(net, first, second):
pass
if __name__ == '__main__':
net = (
("Ваня", "Лёша"), ("Лёша", "Катя"),
("Ваня", "Катя"), ("Вова", "Катя"),
("Лёша", "Лена"), ("Оля", "Петя"),
("Стёпа", "Оля"), ("Оля", "Настя"),
("Настя", "Дима"), ("Дима", "Маша")
)
assert check_relation(net, "Петя", "Стёпа") is True
assert check_relation(net, "Маша", "Петя") is True
assert check_relation(net, "Ваня", "Дима") is False
assert check_relation(net, "Лёша", "Настя") is False
assert check_relation(net, "Стёпа", "Маша") is True
assert check_relation(net, "Лена", "Маша") is False
assert check_relation(net, "Вова", "Лена") is True
Формат ответ: код отдельным файлом
Реализовать API, которое на HTTP-запрос GET /weather?city=<city_name>
,
где <city_name>
- это название города на английском языке,
возвращает текущую температуру в этом городе в градусах Цельсия, атомсферное давление (мм рт.ст.) и скорость ветра (м/c).
При первом запросе, сервис должен получать данные о погоде от openweathermap.com,
при последующих запросах для этого города в течение получаса запросы на сервис openweathermap.com происходить не должны.
Код должен быть выложен в открытом репозитории на github, содержать файл requirements.txt
со списком зависимостей и инструкцию по запуску.
Формат ответа: Код должен быть выложен в открытом репозитории на github, содержать файл requirements.txt со списком зависимостей и инструкцию по запуску.
Компания "DOKE" объявляет о проведении стажировки с последующим трудоустройством! Ты умён, но не знаешь, что с этим делать? Запишись на стажировку и получи приглашение на лекции. Есть приглашение? Ты стажёр! Для тебя мы приготовили теоретические и практические занятия с преподавателями-сотрудниками "DOKE". К каждому занятию прилагаются задания (тесты на теорию и практические задачи), чтобы проверить, как ты понял тему. По каждому заданию ты будешь получать оценку. Кто круче? Тот, у кого средний балл выше! А ещё в результате выполнения практических задач каждый стажёр сделает тестовый проект, который будет работать. Чувствуешь, как повышается градус крутости? По окончании стажировки стажёры с высоким средним баллом могут стать интернами компании и получить уникальную возможность поработать над задачами реального проекта под надзором опытных и вежливых наставников. Если всё пойдёт хорошо - ты станешь настоящим DOKE'ром, но это уже другая история
Чтобы понять, готов ли ты стажироваться, мы предлагаем тебе помочь будущим коллегам с разработкой новой системы. Спроектируй структуру классов для платформы проведения стажировок:
Основные сущности:
- Направление (iOS, Android, Backend)
- Cтажёр (не работает над проектом компании)
- Интерн (работает над проектом компании на особых условиях)
- Преподаватель
- Теоретический курс
- Практический курс
- Проект
- Стажировка
- Интернатура
Дополнительные сущности:
- Оценки
- Тесты
- Задачи
- Темы
- Категории
- ...
Диаграмма классов должна представлять взаимосвязи между сущностями предметной области, описывать их внутреннюю структуру и типы отношений, методы для работы с экземплярами, свойства и их типы. Должны быть реализованы основные принципы ООП. Примечание: сущности не обязательно должны в точности соответствовать перечисленным выше, если у тебя есть идеи реализации получше - то можешь их предложить :) Удачи, стажёр!
Формат ответа: файл (картинка, желательно) или ссылка на диаграмму draw.io
ВАЖНО: решенные задания принимаются на почту edu@appkode.ru.
В теме письма "стажировка_backend_[имя]".
Последний срок сдачи - 3 мая.