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

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

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

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

Условие:

Вам необходимо сделать функцию, которая принимает список чисел и суммирует значения, которые пропущены в списке, но есть в диапазоне от минимального до максимального числа.

Примеры:

sum_miss([1, 6, 3, 2]) -> 9 # 4 + 5 = 9
sum_miss([1, 2, 3]) -> 0
sum_miss([4, 5, 3, 2, 0]) -> 1

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

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
2022 уже совсем скоро, а ты еще не купил себе новогодний подарок?🎅🏼🎁

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

Онлайн университет профессий Skypro проанализировал статистику hh и выяснил, что Python специалисты являются одной из самых востребованных профессий за 2021 год, при этом их зарплата доходит до 300.000₽ в месяц. Именно поэтому они создали курс “Python разработчик”, пройдя который вы станете уверенным разработчиком и сможете начать зарабатывать заветные 300.000₽.

В течение обучения все студенты выполнят 4 проекта, которые сформируют в свое портфолио.
Кроме того, опытные специалисты Skypro помогут найти работу и подготовят к собеседованию с HR💥

По нашей ссылке можно записаться на бесплатную консультацию и получить скидку 10% по промокоду «УЧИСЬ»
https://go.skyeng.ru/Python_Community_ru
⚡️ Работаем с IP адресами

Наиболее эффективно с этой задачей справляется предустановленный модуль ipaddress.

ipaddress.ip_address(address) — возвращает IPv4Address или IPv6Address на основе address.

ipaddress.ip_network(address) — используется для создания сетей, с маской и набором адресов. Возвращает IPv4Network или IPv6Network на основе address.

С этими классами вы можете выполнять различные операции, о которых подробнее узнаете из документации.
Что выведет код выше?
Anonymous Quiz
74%
True
22%
False
3%
Узнать ответ
⚡️ Пишем эмодзи

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

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

emoji.emojize(text) — заменяет все особые символы в text на эмодзи.

emoji.demojize(text) — делает наоборот, переводит эмодзи в текст.

emoji.is_emoji(char) — проверяет, является ли char частью набора эмодзи.

Подробнее о модуле вы, как обычно, можете почитать тут.

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

Условие:

Вам необходимо узнать расширение файла по его имени. Если определить не получается, возвращает пустую строку.

Примеры:

get_ext('file') -> ''
get_ext('.not_ext.') -> ''
get_ext('.not_ext') -> ''
get_ext('file.py.exe') -> 'exe'
get_ext('
script.py') -> 'py'

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

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

Думаю, работая программистом, гуглить вы уже научились. Теперь, надо бы обучить этому программу: для этого воспользуемся модулем google.

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

googlesearch.search(query)
— Отправляет запрос query и возвращает num ссылок в течении num * pause секунд.

googlesearch.get_page(url) — возвращает страницу в необработанном формате в виде набора байтов.

Модуль, к слову, довольно хорошо настраивается. Вы можете передать в параметры функции user agent, язык, страну и тому подобное.

#миниурок #google
👍1
Что выведет код выше?
Anonymous Quiz
4%
[10]
19%
[14]
18%
[10 10]
44%
[6 4 4]
15%
Узнать ответ
⚡️ Асинхронное программирование

Если вы каким-либо образом взаимодействуете с интернетом, то вы, наверняка, слышали про это.

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

При асинхронном программировании код программы делится на корутины, которые управляются циклом событий. Если одна из корутин переходит в состояние ожидания, в это время может выполняться другая.

А что не так с потоками? При работе с потоками код становится тяжёлым и непонятным, чего мы не любим.

Если вам стало интересно, советуем начать с модуля asyncio.

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

Условие:

Напишите функцию, которая принимает список из целых чисел и возвращает то, что повторяется нечётное кол-во раз.

Во всех входных данных всегда будет только одно такое число.

Примеры:

solution([7]) -> 7
solution([0, 1, 0]) -> 1
solution([0, 1, 0, 1, 0]) -> 0

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

#Задачка_с_собеседования
🖥 Давно хотели приобщить своих младших товарищей к миру IT, но не знали с чего начать?

Онлайн-школа Фоксфорд - идеальное решение. Вот лишь несколько из широкого перечня их курсов для детей:

🔹 Программирование на Python
🔹 Администрирование сервера в Minecraft
🔹 Data Science (Машинное обучение на Python)

И еще одна хорошая новость: у меня есть промокод со скидкой 18 % на их курсы - foxfordskidka

Познакомьте ребенка с профессией его мечты 💫
⚡️ Ответ на предыдущую задачу
⚡️ Передаём пароль программе

Я думаю, многие согласятся, что считывать пароль, используя input — неправильно, поскольку любой, кто заглянет в монитор увидит его.

Что же делать? Воспользуйтесь getpass — предустановленный модуль для решения этой задачи.

getpass.getpass(prompt, stream=None) — ожидает ввода пароля от пользователя, не выводя символы на экран.

getpass.getuser() — возвращает имя пользователя.

Подробнее о модуле можете почитать в документации.

#миниурок #getpass
Что выведет код выше?
Anonymous Quiz
30%
True
43%
False
14%
Ошибку
13%
Узнать ответ
Выбираете IT-профессию? Присоединяйтесь к бесплатному онлайн-интенсиву по программированию! Узнайте, какая специальность подходит вам больше всего. А мы поможем определиться с выбором.

Переходите по ссылке и регистрируйтесь: ⚡️ https://clc.to/TiccvA.

Начните карьерный путь на бесплатном интенсиве, который пройдёт 16–18 декабря в 18:00 по московскому времени.

● Познакомитесь на практике с языками программирования Java, Python, 1C и узнаете, как работает программный код.

● Изучите смежные специальности: Data Science, тестирование, frontend-разработку, разработку Android- и iOS-приложений.

● Узнаете, сколько зарабатывают программисты. Научитесь составлять отличное резюме и поймёте, как устроиться в крутую компанию.

💡 Спикер интенсива — разработчик с опытом более 17 лет, директор центра SymbioWay Даниил Пилипенко. Он находит IT-специалистов для крупнейших компаний России.

🎁 Сдайте практическую работу и получите подарок от образовательной платформы Skillbox и издательства МИФ.
⚡️ Тестируем код с помощью Hypothesis

Hypothesis
— отличный фреймворк для неопределённого тестирования. Недавно, кстати, на Python Language Summit 2021, разработчики с его помощью смогли найти ошибки в PEG парсере Python.

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

Неопределённым его называют, поскольку в отличие от обычных тестов, у нас нет заранее заготовленного набора входных данных и результата работы.

На примере выше у нас есть некий алгоритм для шифрования и декодирования текста в файле rle. После проверки мы видим, что код не справляется с пустой строкой.

Если вам стало интересно, то советуем посетить документацию.

#миниурок #hypothesis