Pythonist.ru - образование по питону
25.6K subscribers
216 photos
5 videos
5 files
1.07K links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://kurl.ru/WPjOT
Download Telegram
🔥 Приглашаем на бесплатный открытый урок!

Тема: Чистая архитектура в Python

🎙 На открытом уроке Станислав Ступников — руководитель отдела разработки в VK — расскажет о чистой архитектуре в Python.

Чистая архитектура — это концепция построения долгоживущих приложений, которые должны быть легко расширяемыми, тестируемыми и не зависящими от деталей реализации. На практическом занятии мы разберёмся, как применять эти принципы на примере условного Flask-приложения.

Когда: 24 апреля в 20:00 мск.

Где: онлайн.

Занятие пройдёт в рамках подготовки к старту курса «Python Developer. Professional».

Доступна рассрочка на обучение!

👉 Присоединяйтесь, чтобы узнать больше о чистой архитектуре и Python-разработке: https://otus.pw/mXQK/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Топ. Ответ «да/нет» в пользовательском вводе в Python

При написании интерактивных скриптов на Python часто возникает необходимость спросить у пользователя, хочет ли он продолжать или согласен ли он с условиями. То есть нам нужно задать вопрос, предполагающий ответ типа «да/нет», и обработать пользовательский ввод. Давайте посмотрим, как это делается.

#топ
3👍1
Тест. Методы множеств

Умеете ли вы применять методы множеств в Python ? Пройдите тест из 10 вопросов и проверьте!

#тест
🐍 Приглашаем вас на бесплатный открытый урок курса «Python Developer»!

Тема: «Параллельное программирование в Python».

Дата и время: 22 апреля, 20:00 (МСК).

Спикер: Дмитрий Панкрашов, Middle Python Developer в крупной российской BigTech-компании.

На занятии мы обсудим средства для распараллеливания программ на Python: процессы, потоки, asyncio. Поговорим о том, какие именно средства лучше подходят для решения конкретных задач. Обсудим наиболее сложные моменты в параллельном программировании.

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

Доступна рассрочка на обучение!

Будем рады видеть вас на вебинаре курса «Python Developer»!

👉 Регистрация на урок по ссылке: https://vk.cc/cwl9cP

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Задача с кодом. Число, которое больше A и делится на B

Напишите функцию, которая будет принимать два числа: a и b. Она должна возвращать следующее число, которое будет больше a и b и без остатка делиться на b.

Примечание: a всегда будет больше, чем b.

Примеры:

divisible_by_b(17, 8) ➞ 24
divisible_by_b(98, 3) ➞ 99
divisible_by_b(14, 11) ➞ 22

Решение на нашем сайте.

#задача #coding
Tips & Tricks. 5 интересных вариантов использования метаклассов в Python

Умение использовать метаклассы многими воспринимается как наличие черного пояса Python. Эта статья покажет вам 5 практических способов применения метаклассов.

#tipsandtricks
PythonBooksRu - канал для скачивания Python книг на русском языке.

Что в нашем канале:

1. Книги по питону, которые помогут вам пройти собеседование на позицию Python Developer.

2. Все книги на русском языке

3. Все книги можно скачать в 2 клика

4. Всё, никакой другой воды.

Подписывайтесь и качайте книги: @pythonknigiru
Задача на логику. Сколько задач в таск-трекере?

В таск-трекере есть некоторое количество задач. Если разбросать их все на 4 разработчиков, то останется еще 3 таски. Если делить на троих или на пятерых — останется 2 таски.

Сколько всего задач в трекере?

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
1
Топ. БНФ-нотация в документации Python

Читая документацию Python, вы могли встретить фрагменты БНФ-нотации (форма Бэкуса-Наура, англ. BNF Notation), которые выглядят примерно так:

name      ::= lc_letter (lc_letter | "_")*
lc_letter ::= "a"..."z"


Что означает весь этот странный код? Как это может помочь вам в понимании концепций Python? Как читать и интерпретировать эту нотацию?

Эта статья познакомит вас с основами БНФ-нотации Python. Вы узнаете, как ее использовать для глубокого понимания синтаксиса и грамматики языка.

#топ
4
Задача для новичков

Напишите функцию findGreatestLetter(), которая получает на вход строку, состаящую из английских букв. Эта функция должна вывести букву, которая встречается в строке как в верхнем, так и в нижнем регистре. (Вывести ее нужно в верхнем).

Если таких букв несколько, то надо вывести ту, которая больше в лексикографическом смысле (b > a например). Если такой буквы нет, то следует вывести пустую строку.

Примеры работы данной функции:

findGreatestLetter("arRAzFif") --> 'R'
findGreatestLetter("AbCdEfGhIjK") --> ''

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

def findGreatestLetter(s):
return max([letter.upper() for letter in set(s) if letter.islower() and letter.upper() in s], default="")

#задача #coding
Задача с кодом. Множитель списков

Напишите функцию, которая будет принимать список (чисел или строк) и возвращать новый список со вложенными списками для каждого элемента исходного списка.

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

Примеры:

multiply([4, 5]) 
➞ [[4, 4], [5, 5]]

multiply(["*", "%", "$"])
➞ [["*", "*", "*"], ["%", "%", "%"], ["$", "$", "$"]]

multiply(["A", "B", "C", "D", "E"])
➞ [["A", "A", "A", "A", "A"], ["B", "B", "B", "B", "B"], ["C", "C", "C", "C", "C"], ["D", "D", "D", "D", "D"], ["E", "E", "E", "E", "E"]]

Решение на нашем сайте.

#задача #coding
Tips & Tricks. Сколько времени занимает работа вашей функции?

При помощи модуля time можно узнать, сколько времени необходимо для выполнения кода. Пример - в заметке.

#tipsandtricks #модули
Задача на логику. 99 мешков фальшивых монет

Есть 100 мешков с монетами. Известно, что в одном из них — настоящее золото, а в остальных — фальшивые монеты. На вид монеты совершенно одинаковы (на вкус и запах — тоже).

Также известно, что любая фальшивая монета весит ровно 1 унцию, а любая настоящая — 1,01 унции.

У вас есть весы (точные, показывающие вес). На них можно взвесить хоть все 100 мешков с монетами одновременно. Но вам доступно только одно взвешивание.

Как определить, в каком мешке золото?

Подсказка: мешки можно помечать, а также брать из них любое количество монет.

Решение тут.

#логическаязадача
👍51
Задача с кодом. Пишем функцию для «тупого добавления»

Условие: Создайте функцию, которая принимает два параметра. Если оба параметра — строки, то сложите их математически, если оба — integer, тогда сконкатенируйте их. Если параметры разного типа — верните None.

Примеры:
stupid_addition(1, 2) ➞ "12" 
stupid_addition("1", "2") ➞ 3
stupid_addition("1", 2) ➞ None

Решение на нашем сайте.

#задача #coding
👍4
Строки. Как напечатать табуляцию в Python

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

#строки
👏1
Знаем, что тут сидят серьезные программисты, но если вдруг кто-то интересуется Бизнес Анализом - милости просим.

Бизнес Аналитик IT - канал о жизненном цикле разработки ПО глазами бизнес аналитика.

На канале вы найдете:
- теоретический материал
- интересные статьи
- профессиональную литературу
- полезные шпаргалки
- вопросы с собеседований
- опросы.

Подпишись и пройди наш тест для начинающего бизнес аналитика.
Тест. Битовые операции Python

Хорошо ли вы понимаете битовые операции? Пройдите тест из 10 вопросов и проверьте!

#тест
Задача с кодом. Скользящие числа

Напишите функцию, принимающую число и проверяющую, является ли оно «скользящим». Скользящее число — такое число, соседние цифры которого отличаются между собой на единицу.

Примеры:

is_slidey(123454321) ➞ True
is_slidey(54345) ➞ True
is_slidey(987654321) ➞ True
is_slidey(1123) ➞ False
is_slidey(1357) ➞ False
is_slidey(1) ➞ True

Обратите внимание на примеры 4 и 5. Если в числе идут подряд одинаковые цифры или какая-то цифра в ряду пропущена, такое число мы не считаем скользящим.

Если число записывается одной цифрой, оно считается скользящим.

Решение на нашем сайте.

#задача #coding
Tips & Tricks. Подсчет наиболее часто встречающихся элементов в итерируемом объекте

Показываем, как помощью инструмента Counter из модуля collections узнать, какие элементы итерируемого объекта встречаются чаще всего, и сколько раз.

#tipsandtricks #списки #строки #модули
👍1