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
Ответ к предыдущей задаче для новичков

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
Топ. Считаем количество вхождений символа в строку

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

#топ
Задача с кодом. Деление чисел на два

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

Примеры:
number_split(4) ➞ [2, 2]
number_split(10) ➞ [5, 5]
number_split(11) ➞ [5, 6]
number_split(-9) ➞ [-5, -4]


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

#задача #coding
Tips & Tricks. Lambda-функции в Python с их синтаксисом и примерами

В этой статье:
- Что собой представляет lambda-функция?
- Как объявить lambda-функцию?
- Чем на самом деле является выражение lambda-функции?
- Когда лучше использовать lambda-функцию?
- Значения аргументов по умолчанию для lambda-функции
- Синтаксис lambda-функции
- Совместное использование Lambda-функции со встроенными функциями Python.

#tipsandtricks #функции
Задача на логику. Козленок с доплатой

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

Братья продали коров, причем за каждую получили столько долларов, сколько коров было в стаде.

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

В результате у братьев оказалось четное количество животных. Они поделили их поровну. Но брат, которому достался козленок, попросил доплату у брата, которому достались только ягнята, — чтобы сравнять стоимость.

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

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

#логическаязадача
Топ. Как работать с файлами в Python

В любом проекте разработки ПО нам приходится работать с файлами. При помощи Python можно осуществлять довольно много операций. Мы можем:

- выводить список файлов
- перемещать и переименовывать файлы
- удалять файлы
- читать файлы
- записывать в файлы
- добавлять что-либо в файлы

Эти базовые операции мы и разберем в нашей статье.

#топ