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

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

@aldrson
Download Telegram
Задача для новичков

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

Примеры:

lexicalOrder(13) --> [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9]
lexicalOrder(2) --> [1, 2]

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

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

def lexicalOrder(n: int) -> list[int]:
return [int(i) for i in sorted(str(i) for i in range(1, n + 1))]

#задача #coding
Топ. Удаление дубликатов из связного списка в Python

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

#списки #словари
Задача с кодом. Счастливая семерка

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

Примечания:
- В списке всегда будут только числа.
- Естественно, если в списке меньше трех элементов, функция должна вернуть False.

Примеры:
lucky_seven([2, 4, 3, 8, 9, 1]) ➞ True
lucky_seven([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) ➞ True
lucky_seven([0, 0, 0, 2, 3]) ➞ False
# Нельзя повторять одно число дважды, т.е. вариант 2 + 2 + 3 = 7 невозможен.
lucky_seven([4, 3]) ➞ False
# Нужны три разных числа.

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

#задача #coding
Tips & Tricks. Циклы в Python: их сравнение и производительность

В этой статье мы сравнили производительность различных способов поэлементного суммирования двух последовательностей (при помощи цикла while, цикла for, представления списков, а также с использованием библиотеки NumPy).

#tipsandtricks
Машинное обучение. Учебник по Pandas для начинающих

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

Книги по ML - @maschinelearning

#ml
Задача на логику. Ищем кошку

У вас есть 5 коробок, расставленных в ряд. Коробки пронумерованы от 1 до 5. В одной из них прячется кошка. Каждую ночь кошка перепрыгивает в какую-то из соседних (смежных) коробок. Каждый день вы можете открыть 1 коробку, чтобы найти кошку. Как выиграть в этой игре? В каком порядке нужно заглядывать в коробки?

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

#логическаязадача
Тест. Операторы и выражения

Операторы и выражения в Python — это основы основ. Такие вещи, как отличие == от is, каждый программист обязан знать на «отлично»! Проверьте, знаете ли их вы!

#тест
Топ. PEP 8: нейминг и размещение кода

Разбираем конкретные рекомендации по оформлению кода на Python. Мы рассмотрим, как выбирать имена, как делать вертикальные и горизонтальные отступы в коде, как переносить строки, где ставить закрывающие скобки.

#топ
Задача с кодом. Вывод уникальных элементов списка

Условие: В каждом входящем списке все элементы кроме двух повторяются хотя бы один раз. Напишите функцию, которая выводит два этих уникальных элемента, сохраняя их порядок в исходном списке.

Примеры:
return_unique([1, 9, 8, 8, 7, 6, 1, 6]) ➞ [9, 7]
return_unique([5, 5, 2, 4, 4, 4, 9, 9, 9, 1]) ➞ [2, 1]
return_unique([9, 5, 6, 8, 7, 7, 1, 1, 1, 1, 1, 9, 8]) ➞ [5, 6]

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

#задача #coding
Tips & Tricks. Сохраняем параметры слайсинга для последующего использования

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

#tipsandtricks #списки
Задача на логику. Фальшивая монета

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

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

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

У вас есть весы. Король по милости своей разрешил вам произвести 3 взвешивания. Также у вас есть ваш верный карандаш.

Сможете ли вы обнаружить подделку?

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

#логическаязадача
Топ. Преобразование итераций строк и чисел с помощью map()

В этой статье:

- преобразование итераций строк (использование методов str, удаление знаков препинания, реализация алгоритма шифрования Цезаря)

- преобразование итераций чисел (использование математических операций, преобразование температур, преобразование строк в числа)

#строки #функции
#задача
Пишите ваши ответы в комментариях;)
Тест. Работа с функциями в Python

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

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

#тест
Ответ к предыдущей задачке - 14.

#задача
Задача с кодом. Поменять местами первый и последний элемент списка

Напишите функцию, которая принимает список и делает первый элемент списка последним. Если список пустой или состоит из одного элемента, он должен остаться неизменным.

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

#задача #coding
Tips & Tricks. Проверка нескольких условий

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

#tipsandtricks
Задача на логику. Имена и фамилии

Жили четыре друга. Их звали Альберт, Карл, Дитрих и Фридрих. Фамилии у них были те же, что и имена, только ни у кого из них имя и фамилия не совпадали.

Также известно, что фамилия Дитриха не Альберт, а имя мальчика по фамилии Фридрих это фамилия того мальчика, имя которого - фамилия Карла.

Определите имя и фамилию каждого мальчика.

#логическаязадача
Ответ к задаче "Имена и фамилии"

Мальчиков звали Альберт Дитрих, Карл Альберт, Дитрих Фридрих, Фридрих Карл.

#логическаязадача
Машинное обучение. Реализация сверточной нейронной сети при помощи Keras

Keras — это простая в использовании, но мощная библиотека глубокого обучения для Python. В этом посте мы построим простую сверточную нейронную сеть (CNN) и обучим ее решению реальной задачи с помощью Keras.

Книги по ML - @maschinelearning

#ml