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

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

@aldrson
Download Telegram
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

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

#топ
Задача с кодом. Преобразовать словарь в список

Напишите функцию, которая преобразовывает dict в список списков. Возвращаем пустой список, если словарь пустой.

Примеры:
to_list({ "a": 1, "b": 2 }) 
➞ [["a", 1], ["b", 2]]

to_list({ "shrimp": 15, "tots": 12 })
➞ [["shrimp", 15], ["tots", 12]]

to_list({})
➞ []


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

#задача #coding
Tips & Tricks. 4 регулярных выражения, которые стоит знать

В этой статье:
- проверка соответствия для имени пользователя
- проверка соответствия для пароля
- проверка соответствия для URL-слагов
- проверка соответствия для email-адресов

#tipsandtricks
Задача на логику. Везем яблоки в Огуречное

Перед вами стоит задача: нужно перевезти 3000 яблок из Яблочного в Огуречное. Расстояние между этими населенными пунктами — 1000 километров. У вас есть грузовичок, в который помещается 1000 яблок. Казалось бы: три ходки — и яблоки доставлены. Но есть проблема. По дороге в Огуречное взимается пошлина: по яблоку на каждый километр пути. Когда возвращаетесь в Яблочное, пошлины нет.

Какое максимальное число яблок вам удастся доставить в Огуречное?

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

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

#логическаязадача
Топ. Руководство по созданию API-запросов в Python

В этой статье мы рассмотрели основные библиотеки для выполнения HTTP-запросов, а также некоторые распространенные варианты их использования, позволяющие подключаться к API в Python.

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

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

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

chunkArray([1,2,3,4,5], 1) --> [[1], [2], [3], [4], [5]]
chunkArray([1,9,6,3,2], 6) --> [[1, 9, 6, 3, 2]]
chunkArray([1,9,6,3,2], 3) --> [[1, 9, 6], [3, 2]]

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

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

def chunkArray(arr, size):
chunked = []
index = 0
while index < len(arr):
chunked.append(arr[index:index+size])
index += size
return chunked

#задача #coding
Топ. Считаем количество вхождений символа в строку

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

#топ