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
Что выведет код выше?
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(' ') -> ' '

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

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

Модуль textwrap хранит в себе функции для обработки текста: ограничение строки, переносы и другие декорации. Подробнее — в документации.

wrap(text, width=70) — Оборачивает текст так, чтобы длина каждой строки не превышала width.

fill(то же, что и wrap) — сокращение для "n".join(wrap(text, ...)).

shorten(text, width, placeholder=' [...]') — Ограничивает текст до width и добавляет в конце placeholder.

indent(text, prefix) — Добавляет prefix к строкам, разделённым с помощью text.splitlines(True).

#миниурок #textwrap
⚡️ Безопасность превыше всего

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

split(s) — разделяет строку на основе командного синтаксиса.

join(commands) — объединяет команды в одну строку.

quote(s) — возвращает экранированную строку s.

На самом деле, это лексический анализатор sh, поэтому предназначение его чуть шире, чем просто забота о безопасности (подробнее).

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

Условие:

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

Пример:

is_sum(1, [0, 1])
is_sum(9, [2, 4, 5, 7])
is_sum(13, [5, 6, 3, 4])

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

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

— Название Python пошло в честь «Монти Пайтона (Monty Python)» из любимого шоу разработчика — «Летающий цирк Монти Пайтона».

— Он стал интереснее французского языка. Родители и дети в 2015 году в Великобритании выбирали Python, а не французский язык.

— Python считают молодым языком, но на данный момент ему уже примерно 28 лет. Python 1.0 вышла в январе 1994 года.

#теория
Что выведет код выше?
Anonymous Quiz
34%
Hello
3%
world!
4%
Hello world!
54%
Ошибку
5%
Узнать ответ
Simpsonsv2.gif
27 MB
⚡️ Видео в терминале

Здесь будет описание одного интересного модуля, созданного на Python. А именно — video-to-ascii.

Установка: pip3 install video-to-ascii

Устанавливаете, вводите video-to-ascii -f название_видео.mp4 и наблюдаете. Стоит отметить, что модуль использует ffmpeg.

На видео выше вы видите результат перевода изображения в текст. А посмотреть исходники можно тут.
⚡️ Задачка с собеседования | #Easy

Условие:

Вам нужно найти сумму N минимальных чисел из входящего списка. На вход идёт целое число — количество чисел, что надо сложить и список с целыми числами.

Пример:

find_sum_n(3, [6, 4]) -> 10 # 6 + 4 = 10
find_sum_n(2, [0, 1, 2, 3]) -> 1 # 0 + 1 = 1
find_sum_n(3, [16, -10, -5, 100, 14]) -> -1 # -10 + (-5) + 14 = -1

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

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

mechanize
— модуль, позволяющий автоматизировать работу с веб-страницами из Python.

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

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

Он проще чем requests и может использоваться для тестирования сайта (документация).

#миниурок #mechanize