Pythonist.ru - образование по питону
25.2K subscribers
109 photos
1 video
942 links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Книги
3. Задачи на логику
4. Проект Эйлера
5. Видео
6. Тесты по Python 3

@aldrson
Download Telegram
Тест. Методы множеств

Умеете ли вы применять методы множеств в 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
Задача с кодом. Число, которое больше 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 минут перед тем как читать решение.

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

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

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


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

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

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

Напишите функцию 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 мешков с монетами одновременно. Но вам доступно только одно взвешивание.

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

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

Решение тут.

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

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

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

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

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

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

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

Бизнес Аналитик 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 #списки #строки #модули
⁉️ Хотите стать востребованными разработчиком на Python с нуля, но не знаете, с чего начать обучение?

Приходите на открытый практический урок «Генераторы и очереди в Python» от OTUS. Спикер Дмитрий Панкрашов — ведущий разработчик в компании-партнере вендора СЭД «Директум».

На вебинаре мы:

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

📌Занятие подойдет начинающим разработчикам и тем, кто только готовится к обучению.

Встречаемся 13 мая в 20:00 мск в преддверии старта курса «Специализация Python Developer».
Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!

➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cwDPIv

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

У учительницы пропал кошелек. Украсть его мог только кто-то из 5 учеников: Лилиан, Джуди, Дэвид, Тео или Маргарет. При опросе этих детей каждый из них дал по 3 показания:

Лилиан: 1) я не брала кошелек; 2) я никогда в своей жизни ничего не крала; 3) это сделал Тео.

Джуди: 4) я не брала кошелек; 5) мой папа достаточно богат, и у меня есть собственный кошелек; 6) Маргарет знает, кто это сделал.

Дэвид: 7) я не брал кошелек учительницы; 8) с Маргарет я не был знаком до поступления в школу; 9) это сделал Тео.

Тео: 10) я не виновен; 11) это сделала Маргарет; 12) Лилиан лжет, утверждая, что я украл кошелек.

Маргарет: 13) я не брала кошелек учительницы; 14) в этом виновна Джуди; 15) Дэвид может поручиться за меня, так как знает меня со дня рождения.

При дальнейшем расспрашивании каждый из учеников признал, что из сделанных им трех заявлений два верных и одно неверное.

Вопрос: кто украл кошелек учительницы?

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

#логическаязадача