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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
Что выведет код выше?
Anonymous Quiz
25%
[0, 2, 4, 6]
18%
[0, 2, 4]
10%
[1, 3, 5]
47%
[]
game.zip
5.6 KB
⚡️ Создаём игры

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

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

После импорта библиотеки необходимо инициализировать модуль pygame, делается это с помощью команды init.

Управление циклом, отрисовка, загрузка файлов, а также реакции на события ложится на вас.

Пример выше лучше запустить самостоятельно и посмотреть на результат работы.

#миниурок #pygame
⚡️ Работаем с буфером обмена

Для этого нам будет нужна библиотека pyperclip. Она выполняет самые простые функции по копированию и считыванию текста.

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

Вот, что она умеет:

copy(text: str) — получает строку и записывает её в буфер обмена

paste() — возвращает текст из буфера. Думаю, многие знают, что для копии данных в терминале достаточно просто выделить текст. Для получение таких данных добавьте primary=True.

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

Условие:

Ваша задача — написать функцию, которая переводит многомерный массив в одномерный

Пример:

to_one_dimension_list([1, [2, 3, [4,5], 6]]) -> [1, 2, 3, 4, 5, 6]
to_one_dimension_list([1, 2, 3]) -> [1, 2, 3]
to_one_dimension_list([1, [[3]], 5]) -> [1, 3, 5]

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

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

Для этого я предлагаю использовать numerizer — модуль с открытым исходным кодом, позволяющий переводить числа английского языка в int и float.

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

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

Также библиотека может быть дополнением к SpaCy, подробнее — на их странице в github.

#миниурок #numerizer
Что выведет код выше?
Anonymous Quiz
23%
1
28%
2
20%
3
11%
Ничего
17%
Узнать ответ
👍1
⚡️ Профилируем код

Профилирование — это сбор информации о программе по типу нагрузки на ЦП, видеокарту или использование памяти.

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

Установка: pip3 install scalene

Работа с ним очень простая. Команда scalene file.py запускает скрипт и отслеживает его работу, а после выполнения выводит результат, как на фото выше.

В случае, если у вас возникнут ошибки при выполнении, установите версию python 3.7 и выше.
⚡️ Задачка с собеседования | #Easy

Условие:

Напишите, пожалуйста, функцию, которая превращает одномерный список в список из пар.

Если количество элементов в списке не позволяет поделить его на 2, то метод использует необязательный метод fill_char с значением для заполнения.

Желательно не использовать сторонние модули.

Пример:

to_pairs([1, 2, 3, 4]) -> [[1, 2], [3, 4]]
to_pairs([1, 2, 3, 4, 5]) -> [[1, 2], [3, 4], [5, None]]
to_pairs([1, 2, 3, 4, 5, 0], fill_char = 0) -> [[1, 2], [3, 4], [5, 0]]

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

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

В версии Python 3.9 добавили новое действие для словарей — |, что позволяет быстро объединить два словаря. Но как быть с более старыми версиями?

В Python 3.5 и выше можно использовать другое выражение — {**a, **b} (более подробно — тут).

Для ещё более старых версий используют update, как на примере выше.

Учтите, что во всех этих способах повторяющиеся значения перезаписываются на значения из второго словаря.

#теория
⚡️ Не желаете немного отвлечься?

Попробуйте модуль antigravity.

После его установки откройте интерпретатор и пропишите import antigravity.

Вас перекинет на этот сайт, где вы найдёте множество комиксов на английском языке. Сверху — как раз один из таких комиксов.

И повеселитесь, и английский прокачаете ;)

Установка:
pip install antigravity
⚡️ Задачка с собеседования | #Easy

Условие:

Написать собственную реализацию шифра rot (подробнее). Функция принимает в себя два параметра: строку, которую необходимо зашифровать и число, на сколько позиций смещается символ (по умолчанию - 13).

Пример:

rot(EBG13 rknzcyr.) -> ROT13 example.
rot(AaBbCcLl.) -> NnOoPpYy.
rot(Ok, now try rot 6, offset = 6) -> Uq, tuc zxe xuz 6

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

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