Python Community
13.1K subscribers
1.24K photos
26 videos
15 files
712 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Задачка с собеседования | #Medium

Условие:

Есть определённое количество кувшинок, расположенных в ряд, кузнечик стоит на первой из них. Он может прыгнуть на следующую кувшинку, либо перепрыгнуть через одну. Сколько существует разных способов (путей) добраться до последней кувшинки?

Пример:

get_way(1) ➞ 1
get_way(5) ➞ 8
get_way(16) ➞ 1597

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
Что выведет код выше?
Anonymous Quiz
58%
True
34%
False
8%
Узнать ответ
⚡️ Абстрактная фабрика

Это порождающий паттерн, который позволяет создавать семейство связанных объектов, не привязываясь к определённому классу.

Его преимущество в том, что мы можем спокойно добавлять семейства каких-то объектов, при этом не меняя старый код.

Например, вам нужно создать машины модели sedan и coupe. Этим занимаются две компании Toyota и Ford После может добавиться ещё компания, но для вас это не составит проблем.

#паттерны #fabric
687474703a2f2f692e696d6775722e636f6d2f6631504a7843512e676966
94.7 KB
⚡️ Сайт без сервера

Продукт от Amazon — Zappa, позволяет нам запускать сайт без сервера... Почти.

Установка: pip install zappa

На самом деле сервер есть, но он живёт не более 40 миллисекунд. Под каждый ваш запрос выделяется в Amazon отдельный HTTP-сервер, который выполняет работу и умирает.

С таким подходом система легко масштабируется. А значит с увеличением нагрузки сайт будет работать стабильно, а не отбрасывать чужие запросы.

Также услуги намного дешевле, ведь вы платите только за рабочие секунды.

#миниурок #zappa
⚡️ Задачка с собеседования | #Easy

Условие:

Вам нужно перевести секунды в формат часы:минуты:секунды. Если секунд меньше, чем 1 час, то стоит выводить в формате минуты:секунды. Не забывайте заполнять нулями значения, чтобы они выглядели так: 1:01:01, а не 1:1:1.

Пример:

convert_secs(65) ➞ '1:05'
convert_secs(12345) ➞ '3:25:45'
convert_secs(43200) ➞ '12:00:00'

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Алгоритм DFS

Depth-first search
используется для рекурсивного обхода графа. Чаще всего он используется для поиска элементов, для поиска мостов графов или для преобразования дерева в строку.

Как он работает? Мы берём любую вершину и проходимся по её соседям до того, пока у нашей вершины не останется связей. У каждого соседа мы вызываем эту же функцию и проделываем ту же операцию.

Главное не забыть записать вершину в посещённые, чтобы избежать циклического прохода по одним и тем же элементам графа.

Но вот рекурсия вызывает много проблем. Из-за переполнения стека мы не можем работать с большими графами.

#алгоритмы #графы
⚡️ Генерация рисунков на основе запроса

Вероятно, вы уже слышали про бота от сбербанка, способного генерировать изображения на основе запроса. Так вот, он использует библиотеку с открытым исходным кодом.

Установка: pip install rudalle

Стоит отметить, что нейронные сети довольно требовательные, а значит вам потребуется мощный компьютер, а также минимум 3 Гб свободного места.

P.S. GitHub уже начал блокировать аккаунты сбера, поэтому советуем как можно быстрее загрузить репозиторий.

P.S.S. Пример выше взят с гитхаба, но для него вам ещё нужно установить ruclip:
pip install ruclip

#миниурок #rudalle
Что выведет код выше?
Anonymous Quiz
43%
True
35%
False
15%
Ошибку
7%
Узнать ответ
⚡️ Задачка с собеседования | #Easy

Условие:

Напишите функцию, которая будет возвращать строку в виде алмаза, как на фото выше. В функцию передаётся количество строк. Если число < 0 или не делится на 2, возвращайте None.

Пример на фото

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Паттерн стратегия

Он упрощает работу со схожими алгоритмами, которые решают конкретную задачу. То есть мы выносим решения в отдельные классы, которые после выбираем во время выполнения программы.

Возьмём, к примеру, вывод таблицы. Её мы можем отобразить в Excel, HTML, CLI, PNG формате, в зависимости от желания пользователя. И проще всего реализовать подобное с помощью стратегии.

Таким образом мы делаем разработку намного проще и безопаснее. Также добавление новых фич становится намного быстрее.

#паттерны #strategy