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

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

@aldrson
Download Telegram
Задача с кодом. Число Керзона

Если 2^N+1 без остатка делится на 2*N+1, то число N считается числом Керзона.

Реализуйте функцию, которая будет принимать целое число num и возвращать True, если num — число Керзона, и False — если нет.

Примеры:

is_curzon(5) ➞ True
# 2 ** 5 + 1 = 33
# 2 * 5 + 1 = 11
# 33 кратно 11

is_curzon(10) ➞ False
# 2 ** 10 + 1 = 1025
# 2 * 10 + 1 = 21
# 1025 не кратно 21

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

#задача #coding
Tips & Tricks. Замена пробелов на указанные символы.

Пошагово разбираем задачу с собеседования. Пишем функцию для замены всех пробелов в строке на '%20'.

#tipsandtricks #строки #методы
Задача на логику. Носки и перчатки

В одном ящике лежит 10 пар коричневых и 10 пар черных носков. В другом — 10 пар коричневых и 10 пар черных перчаток.

По сколько носков и перчаток нужно взять из каждого ящика, чтобы из взятого можно было составить пару носков какого-нибудь одного цвета и пару перчаток одного цвета? (Носки и перчатки могут различаться по цвету, но пары должны быть одноцветными).

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

#логическаязадача
Строки. Преобразование строк в дату со временем

Знакомимся с модулем datetime, его методами и расширениями, а также со сторонними библиотеками для работы с датами и временем.

#строки
Тест. Django ORM

Умеете ли вы работать с базами данных с помощью Django ORM? Давайте проверим!

#тест #django
Топ. Вывод всех чисел, кратных определенному числу, в заданном диапазоне

Разбираем решение задачи. Пишем программу, выводящую все числа в заданном диапазоне, которые делятся без остатка на определенное число.

#топ
Задача с кодом. Сколько полных оборотов?

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

Примечания:
- Каждый поворот влево или вправо считается поворотом на 90 градусов.
- Один оборот = 360 градусов в одном направлении.
- Вернуть надо положительное число.

Примеры:
spin_around(["left", "right", "left", "right"]) ➞ 0
spin_around(["right", "right", "right", "right", "right", "right", "right", "right"]) ➞ 2
spin_around(["left", "left", "left", "left"]) ➞ 1


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

#задача #coding
Tips & Tricks. Быстрая сортировка на Python

Давайте рассмотрим, как написать на Python программу, которая будет сортировать список методом быстрой сортировки (QuickSort).

#tipsandtricks #списки
Задача на логику. С какой скоростью должен бежать лыжник?

Лыжнику нужно прибыть в указанный пункт ровно в полдень. Если он будет бежать со скоростью 10 км/ч, то прибудет на час позже полудня, а если со скоростью 15 км/ч, то на час раньше полудня.

С какой скоростью должен бежать лыжник, чтобы прибыть на место ровно в полдень?

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

#логическаязадача
Топ. 9 полезных библиотек Python

При помощи Python можно не только создавать какие-то программы профессионального уровня, но и решать свои мелкие жизненные проблемы. Для этого есть масса полезных библиотек. В этой статье мы познакомим вас с несколькими.

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

Дополнение к целому числу — это целое число, которое вы получите, если замените все 0 на 1 и все 1 на 0 в его двоичном представлении. Например, целое число 5 — это «101» в двоичном представлени, а его дополнение — «010», то есть целое число 2.

Напишите функцию findComplement(), которая принимает на вход целое число, а выводит его дополнение.

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

findComplement(10) --> 5
findComplement(5) --> 2

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

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

def findComplement(num):
mask = 1
while mask < num:
mask = (mask << 1) + 1
return num ^ mask

#задача #coding
Топ. Python список в словарь: полное руководство

В Python есть несколько способов преобразовать список в словарь и несколько встроенных функций, которые можно использовать с этой целью. В этой статье мы рассмотрели все эти преобразования на примерах.

#топ
Книги по Python для прочтения и скачивания на русском языке:

Изучаем Python
Марк Лутц

Изучаем Python
Эрик Мэтиз

Изучаем программирование на Python
Пол Бэрри

Автоматизация рутинных задач с помощью Python
Эл Свейгарт

Легкий способ выучить Python 3
Зед А. Шоу

Эти и другие книги можно и нужно скачать в нашем канале @pythonknigiru. Подписывайтесь и изучайте Python.
Задача с кодом. Складываем лист бумаги

Создайте функцию, которая будет возвращать толщину листа бумаги (в метрах) после складывания этого листа n раз. Толщина несложенного листа — 0,5 мм. Ответы не округлять.

Примеры:
num_layers(1) ➞ "0.001m"
# Лист бумаги, сложенный 1 раз, имеет толщину 1 мм (= 0.001 м)

num_layers(4) ➞ "0.008m"
# Лист бумаги, сложенный 4 раза,имеет толщину 8 мм (= 0.008 м)

num_layers(21) ➞ "1048.576m"
# Лист бумаги, сложенный 21 раз, имеет толщину 1048576 мм (= 1048.576 м)


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

#задача #coding
Tips & Tricks. Генераторы в Python и их отличие от списков и функций

Разбираем генераторные выражения и разницу между списками и генераторами, а также между функциями и генераторами.

#tipsandtricks #генераторы #списки
Задача на логику. Год рождения прабабушки

Моя прабабушка родилась в первое воскресенье года. Ее седьмой день рождения тоже пришелся на воскресенье. В каком году родилась моя прабабушка?

Подсказка. Если какая-нибудь дата выпадает, например, на воскресенье, то в следующем году эта дата выпадет на следующий день недели, в нашем случае — на понедельник. Это правило действует для обычных, не високосных годов.

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

#логическаязадача
Строки. Проверяем наличие подстроки в строке

В этой статье мы расскажем о четырех способах найти подстроку в строке. У каждого способа есть плюсы и минусы — о них мы также кратко поговорим.

#строки
Тест. Бинарные побитовые операции Python

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

Проверьте, насколько хорошо вы знаете эту тему: пройдите тест из 10 вопросов!

#тест
This media is not supported in your browser
VIEW IN TELEGRAM
Юмор в IT - канал с бомбическим юмором про айтишников. Мы выбираем только самые смешные мемы, которые уже оценили подписчики других телеграм каналов.

Залетай на канал. Как минимум, хорошо проведешь время, как максимум — это может стать первым шагом ко входу в айти.

// Юмор в IT
Топ. Как определить глобальную переменную в Python

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

#топ