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

Условие:

Напишите функцию, которая поможет вам определить дату, если вы знаете номер дня в году, а также является ли год високосным или нет. Она принимает номер дня и isLeap в качестве аргументов и возвращает соответствующую дату года в виде строки «Месяц, день».

Примеры:

get_day(365, False) ➞ 'December, 31'
get_day(365, True) ➞ 'December, 30'
get_day(1, True) ➞ 'January, 1'
get_day(127, True) ➞ 'May, 6'

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

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Принципы SOLID. Часть 1

Это свод правил, который позволяет писать стабильный и гибкий код. Всего он состоит из пяти частей:

· Принцип единственной ответственности — каждый компонент должен выполнять одну и только одну функцию.

· Принцип открытости-закрытости — Код должен быть открыт для расширения, но закрыт для модификации. Надо написать так, чтобы было легко добавить новые функции, не меняя старый код.

· Принцип подстановки Барбары Лисков — Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа не зная об этом. Пример нарушения на фото.

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

Условие:

В качестве аргументов вам будут даны 2 числа: (num,s). Напишите функцию, которая возвращает массив из s числовых палиндромов, следующих после num. Если число является палиндромом, оно должно быть включено в список.

Примеры:

palindrome(6, 4) ➞ [11, 22, 33, 44]
palindrome(101, 2) ➞ [101, 111]
palindrome(59, 3) ➞ [66, 77, 88]

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

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Принципы SOLID. Часть 2

· Принцип разделения интерфейса — Создавайте узкоспециализированные интерфейсы, предназначенные для конкретного клиента. Клиенты не должны зависеть от интерфейсов, которые они не используют.

· Принцип инверсии зависимостей — Объектом зависимости должна быть абстракция, а не что-то конкретное. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций.

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

Условие:

Нужно подсчитать количество повторяющихся символов в строке.

Пример:

duplicate_count('abcde') ➞ 0
duplicate_count('aabbcde') ➞ 2 # a and b
duplicate_count('ABBBac') ➞ 2 # a and b

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

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

Модуль PyOWM предоставляет доступ к openweathermap API. Таким образом мы можем получать данные о погоде в самых разных городах.

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

Первым делом вам нужно получить API ключ, это можно сделать здесь. После вы можете получит доступ к температуре, влажности, облачности в каком-то городе.

Подробнее можно почитать в документации. Также у проекта есть репозиторий на GitHub.

#миниурок
Что выведет этот код?
Anonymous Quiz
39%
True
42%
False
14%
Ошибку
5%
Узнать ответ
⚡️ Принцип KISS

«Keep it simple, stupid»
означает, что программисту нужно максимально упрощать код, делать его более понятным. Таким образом в разы легче добавить новые фичи в проект, а вы сможете со спокойной душой уйти в отпуск.

Как это — проще? Вам не стоит реализовывать функционал, которые, более вероятно, не будут использовать. Также надо уметь остановиться, добавляя новые уровни абстракции или создавая интерфейсы.

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

Условие:

Напишите метод, который принимает массив целых чисел (положительных и отрицательных) и возвращает самую длинную непрерывную последовательность в этом массиве, общая сумма элементов которой равна 0.

Пример:

max_zero_sequence([1, 2, -3, 7, 8, -16]) ➞ [1, 2, -3]
max_zero_sequence([25, -35, 12, 6, 92, -115, 17, 2, 2, 2, -7, 2, -9, 16, 2, -11]) ➞ [92, -115, 17, 2, 2, 2]

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

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
Что выведет код выше?
Anonymous Quiz
20%
1
25%
2
39%
Ошибку
15%
Узнать ответ
Roadmap по Python

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

#roadmap