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

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

@aldrson
Download Telegram
Топ. Является ли Python чувствительным к регистру?

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

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

Напишите функцию smallestMultiple(), которая получает на вход целое положительное число n. Данная функция должна вернуть наименьшее положительное целое число, кратное как 2, так и n.

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

smallestMultiple(5) --> 10
smallestMultiple(6) --> 6

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

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

Первый канал по Docker. Поискав в телеграме каналы по docker и не найдя ничего, я решил обьединить контент в одном месте.

По содержанию в канале:
- вопросы с собеседований
- команды докера
- книги
- тесты для проверки ваших знаний
- обучающие видео
- чат для обсуждения

Подписывайтесь, комментируйте и предлагайте свой контент в нашем новом сообществе: @justdocker
Ответ к предыдущей задаче для новичков

def smallestMultiple(n):
return n if n % 2 == 0 else 2 * n

#задача #coding
Тест. Строки и методы строк Python

Разработчикам часто приходится работать со строками. Для этой цели в Python даже есть встроенные методы строк. Хороший программист определенно должен их знать. А как у вас со знанием строковых методов и вообще с умением работать со строками? Пройдите тест из 10 вопросов и проверьте!

#тест
Задача на логику. Недоверчивый рабочий и золотая монета

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

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

Как разделить монету двумя разрезами, чтобы иметь возможность платить за работу ежедневно?

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

#логическаязадача
🔥 Приглашаем на бесплатный открытый урок!

Тема: Чистая архитектура в 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 часто возникает необходимость спросить у пользователя, хочет ли он продолжать или согласен ли он с условиями. То есть нам нужно задать вопрос, предполагающий ответ типа «да/нет», и обработать пользовательский ввод. Давайте посмотрим, как это делается.

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

Умеете ли вы применять методы множеств в 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