⚡️ Задачка с собеседования | #Medium
Условие:
Нужно написать специальный кодировщик. Если буква повторяется один раз, на его месте пишем "(", иначе — ")". Система не чувствительна к регистру. Учитываются все символы, кроме пробела, переноса строки и другие (string.whitespace).
Пример:
encode('no rep*at') -> '(( (((((('
encode('HeLlo world!') -> '(())) ()()(('
encode(' ') -> ' '
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Нужно написать специальный кодировщик. Если буква повторяется один раз, на его месте пишем "(", иначе — ")". Система не чувствительна к регистру. Учитываются все символы, кроме пробела, переноса строки и другие (string.whitespace).
Пример:
encode('no rep*at') -> '(( (((((('
encode('HeLlo world!') -> '(())) ()()(('
encode(' ') -> ' '
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Украшаем текст
Модуль textwrap хранит в себе функции для обработки текста: ограничение строки, переносы и другие декорации. Подробнее — в документации.
#миниурок #textwrap
Модуль 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
Что выведет код выше?
Anonymous Quiz
14%
[1, 2, -1]
23%
[1, 3, 2]
14%
[3, 1, 2]
33%
Ошибку
16%
Узнать ответ
⚡️ Безопасность превыше всего
Пользователи — главный страх программиста. И чтобы они ничего не сломали при вводе команд в терминал, воспользуйтесь shlex.
На самом деле, это лексический анализатор sh, поэтому предназначение его чуть шире, чем просто забота о безопасности (подробнее).
#миниурок #shlex
Пользователи — главный страх программиста. И чтобы они ничего не сломали при вводе команд в терминал, воспользуйтесь 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])
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
На вход идёт искомое число и список неотрицательных чисел. Вам нужно понять, есть ли в списке числа, которые являются суммой двух.
Пример:
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 года.
#теория
— Название Python пошло в честь «Монти Пайтона (Monty Python)» из любимого шоу разработчика — «Летающий цирк Монти Пайтона».
— Он стал интереснее французского языка. Родители и дети в 2015 году в Великобритании выбирали Python, а не французский язык.
— Python считают молодым языком, но на данный момент ему уже примерно 28 лет. Python 1.0 вышла в январе 1994 года.
#теория
Simpsonsv2.gif
27 MB
⚡️ Видео в терминале
Здесь будет описание одного интересного модуля, созданного на Python. А именно —
Установка:
На видео выше вы видите результат перевода изображения в текст. А посмотреть исходники можно тут.
Здесь будет описание одного интересного модуля, созданного на 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
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам нужно найти сумму 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.
Установка:
Он проще чем requests и может использоваться для тестирования сайта (документация).
#миниурок #mechanize
mechanize — модуль, позволяющий автоматизировать работу с веб-страницами из Python.
Установка:
pip install mechanize
Вы можете с его помощью посещать страницы, отвечать на формы и симулировать работу браузера. Он проще чем requests и может использоваться для тестирования сайта (документация).
#миниурок #mechanize
Что выведет код выше?
Anonymous Quiz
53%
True True
15%
True False
17%
False True
7%
False False
8%
Узнать отвнт
⚡️ Классы и особые атрибуты
#теория
__init__
— вызывается при создании объекта. Перед ним вызывается __new__
— статический класс для создания образца класса.__str__
, __repr__
— строковое представление объекта для пользователя (__str__
) и для программиста (__repr__
).__gt__
, __eq__
, __lt__
— методы сравнения >, ==, <. Отдельные методы для !=, >=, <= и других операторов.#теория
Мы ищем Python-разработчиков в штат Яндекс.Практикума.
Создаём социально значимый продукт и бизнес: помогаем нашим студентам получить новую цифровую профессию или навык.
Бэкенд-разработчику в Практикуме предстоит:
→ проектировать и внедрять новые форматы прохождения курсов, проектных работ;
→ добавлять на платформу новые тренажёры для студентов;
→ внедрять запуск кода на новых языках программирования;
→ развивать инструменты для машинного обучения и анализа данных;
→ проектировать архитектуру и инфраструктуру для новых внешних и внутренних сервисов;
→ ускорять работу платформы во всем мире, чтобы помогать Практикуму завоевывать новые рынки.
Мы будем рады видеть в нашей команде человека, который
— умеет программировать на языке Python,
— знает SQL и работал с реляционными базами данных,
— работал в Docker и с различными облачными сервисами,
— разрабатывал веб-сервисы.
Вас ждёт работа с гибким графиком: удалённая или в офисе с тренажёрным залом и йогой. А ещё:
◾️ интересные задачи, возможность влиять на процесс и результат;
◾️ сильная команда, с которой можно расти;
◾️ опционная программа;
◾️ программа жилищных заимов под 3% или без процентов;
◾️ ДМС для вас и 80% стоимости ДМС для супругов и детеи;
◾️ премии каждые полгода для всех, кто успешно прошел ревью;
◾️ компенсация оплаты питания и мобильнои связи;
◾️ оплата обучения и участия в профильных конференциях
◾️ скидки у партнёров компании.
Если вы не из Москвы — поможем с переездом.
→Почитать подробности и откликнуться на вакансию
Создаём социально значимый продукт и бизнес: помогаем нашим студентам получить новую цифровую профессию или навык.
Бэкенд-разработчику в Практикуме предстоит:
→ проектировать и внедрять новые форматы прохождения курсов, проектных работ;
→ добавлять на платформу новые тренажёры для студентов;
→ внедрять запуск кода на новых языках программирования;
→ развивать инструменты для машинного обучения и анализа данных;
→ проектировать архитектуру и инфраструктуру для новых внешних и внутренних сервисов;
→ ускорять работу платформы во всем мире, чтобы помогать Практикуму завоевывать новые рынки.
Мы будем рады видеть в нашей команде человека, который
— умеет программировать на языке Python,
— знает SQL и работал с реляционными базами данных,
— работал в Docker и с различными облачными сервисами,
— разрабатывал веб-сервисы.
Вас ждёт работа с гибким графиком: удалённая или в офисе с тренажёрным залом и йогой. А ещё:
◾️ интересные задачи, возможность влиять на процесс и результат;
◾️ сильная команда, с которой можно расти;
◾️ опционная программа;
◾️ программа жилищных заимов под 3% или без процентов;
◾️ ДМС для вас и 80% стоимости ДМС для супругов и детеи;
◾️ премии каждые полгода для всех, кто успешно прошел ревью;
◾️ компенсация оплаты питания и мобильнои связи;
◾️ оплата обучения и участия в профильных конференциях
◾️ скидки у партнёров компании.
Если вы не из Москвы — поможем с переездом.
→Почитать подробности и откликнуться на вакансию
⚡️ Задачка с собеседования | #Medium
Условие:
Вам нужно создать мексиканскую волну) — список со словами, в которых буквы по очереди становятся в верхнем регистре. На вход идёт слово, состоящее из букв английского алфавита, из которого надо сделать волну.
Пример:
wave('Hello') -> ['Hello', 'hEllo', 'heLlo', 'helLo', 'hellO']
wave('wave') -> ['Wave', 'wAve', 'waVe', 'wavE']
wave('TeST') -> ['Test', 'tEst', 'teSt', 'tesT']
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам нужно создать мексиканскую волну) — список со словами, в которых буквы по очереди становятся в верхнем регистре. На вход идёт слово, состоящее из букв английского алфавита, из которого надо сделать волну.
Пример:
wave('Hello') -> ['Hello', 'hEllo', 'heLlo', 'helLo', 'hellO']
wave('wave') -> ['Wave', 'wAve', 'waVe', 'wavE']
wave('TeST') -> ['Test', 'tEst', 'teSt', 'tesT']
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования