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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Ответ на предыдущую задачу
⚡️ Импортируем пакеты

Python очень связан со сторонними библиотеками, поэтому было бы неплохо научится их правильно импортировать:

1. import <package> — простой импорт пакета.

2. from <package> import <obj> — «вытаскивает» obj (функция, класс, переменная) из пакета. Если написать * на месте <obj>, то получим все возможности модуля (есть ограничение в виде __all__)

3. import <package> as <name> — импортирует модель и задаёт имя, записанное после as. Работает и from <package> import <obj> as <name>

4. import <package1>, <package2> — импортирует несколько пакетов в одну строку. Также работает с form и as.

#теория
Что выведет код выше?
Anonymous Quiz
7%
ae
41%
ab
23%
abce
10%
abe
18%
Узнать ответ
⚡️ Особенность булевых операций

На самом деле, операции and и or используются не только для объединения нескольких условий, но и для возвращения значений.

x or y — если x ложно (False), использует y, иначе x.

x and y — если x ложно, использует x, иначе y.

Таким образом можно сократить несколько строк в одну.

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

Условие:

Возьмите любое положительное целое число, переверните и прибавьте к исходному числу. Повторяйте, пока не получится число-палиндром (то, что читается одинаково слева направо и справа налево).

Пример:

alg192(48) -> 363 # 48 + 84 = 132; 132 + 231 = 363
alg192(23) -> 55 # 23 + 32 = 55
alg192(55) -> 121
# 55 + 55 = 110; 110 + (0)11 = 121

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

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

Есть модуль, позволяющий переводить JS-код в Python объекты, называется js2py.

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

Модуль написан на чистом Python и у него нет зависимостей. По сути, это базовая реализация ядра Javascript.

Также вы можете использовать пакеты JS, словно это модули Python, с помощью функции require(name).

#миниурок #js2py
⚡️ Форматируем строку

Python ценит читаемость кода, и чтобы не приходилось совмещать строки с помощью + или непонятных %s придумали f-строки.

Пример — f"some {value}". Все выражения внутри {} переводятся в строку. Именно выражения, будет работать и такая строка: f"{a} + {b} = {a + b}".

Стоит заметить, что внутри {} бэкслеш (символы типа n, t, ") не поддерживается, придётся сохранять результат в отдельную переменную. Пустые выражения также не доступны.

Подробнее

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

Условие:

Вам нужно вернуть число в виде строки в расширенной форме. На входе всегда натуральное число.

Пример:

expanded_form(1) -> '1'
expanded_form(1234) -> '1000 + 200 + 30 + 4'
expanded_form(1001) -> '1000 + 1'

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

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

pyscreenshot
— кросс-платформенная библиотека для создания скриншотов. Важно, чтобы был установлен модуль pillow (pip install pillow).

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

Для захвата экрана используем grab(), если нужна определённая область, передайте bbox. После — открываем изображение с помощью show() или сохраняем с помощью save(file_path).

#миниурок #pyscreenshot
Что выведет код выше?
Anonymous Quiz
20%
1 2 3
7%
1 2
27%
3
33%
Ошибку
13%
Узнать ответ
⚡️ Ответ на предыдущую задачу
⚡️ Многострочные строки

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

1. Использование "" — позволяет перенести остаток строки на следующую линию кода.

2. Скобочки. При написании кода внутри скобочек "()", использование "" при переносе не обязательно.

2. Особые строки. Можно написать тройные кавычки (""" """), тогда текст будет таким же, как и внутри, с теми же переносами, отступами и символами (", ').

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

Условие:

Нужно написать специальный кодировщик. Если буква повторяется один раз, на его месте пишем "(", иначе — ")". Система не чувствительна к регистру. Учитываются все символы, кроме пробела, переноса строки и другие (string.whitespace).

Пример:

encode('no rep*at') -> '(( (((((('
encode('HeLlo world!') -> '(())) ()()(('
encode(' ') -> ' '

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

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