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

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

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

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

Условие:

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

Примеры:

count([5, 4, 1, 2, -1, -2]) -> (4, 2)
count([1, 0, -1]) -> (1, 1)
count([0, 0, 0, 0]) -> (0, 0)

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

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

simpleaudio
— удобный кроссплатформенный модуль для работы с звуками.

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

Первым делом нужно определится, как вы будете воспроизводить аудио:

• Если вам достаточно проиграть файл, то воспользуйтесь WaveObject.from_wave_file(file_with_wav).

• Если вы ходите воспроизводить звуки напрямую, то воспользуйтесь play_buffer(data, num_channels=2, bytes_per_sample=2, sample_rate=44100).

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

#миниурок #simpleaudio
Что выведет код выше?
Anonymous Quiz
27%
0.3
26%
0.30000000000000004
40%
Ошибку
7%
Узнать ответ
⚡️ Распаковка

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

Распаковка может использоваться при вызове функции. Таким образом мы передаём элементы списка как аргументы.

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

Для распаковки словарей используют две звёздочки ().

#теория