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

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

@aldrson
Download Telegram
Задача на логику. Встреча часовой и минутной стрелки на часах

В полдень положение часовой и минутной стрелок на часах полностью совпадает. В следующий раз их положение совпадет чуть позже, чем через час. Назовите точное время следующего совпадения часовой и минутной стрелки.

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

#логическаязадача
Топ. Руководство по PyGame

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

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

Напишите функцию containsNearbyDuplicate(self, nums: list[int], k: int) -> bool, которая принимает на вход массив целых чисел nums и целое число k.

Данная функция должна возвращать True, если в массиве есть два различных индекса i и j, таких, что nums[i] == nums[j] и abs(i - j) <= k. В противном случае возвращается False.

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

containsNearbyDuplicate([1,2,3,1], 3) --> True
containsNearbyDuplicate([1,0,1,1], 1) --> True
containsNearbyDuplicate([1,2,3,1,2,3], 2) --> False

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

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

def containsNearbyDuplicate(nums: list[int], k: int) -> bool:
num_dict = {}

for i in range(len(nums)):
if nums[i] in num_dict and abs(i - num_dict[nums[i]]) <= k:
return True
num_dict[nums[i]] = i

return False

#задача #coding
Топ. Операторы в Python

В этой статье мы поговорим про различные операторы в Python. Мы на примерах разберем арифметические, битовые и логические операторы, а также операторы присваивания и сравнения. Кроме того, мы рассмотрим операторы принадлежности и идентичности, такие как is, is not и in, not in.

#топ
Задача с кодом. Фруктовые соки

Завод по производству фруктовых соков помечает свою продукцию специальными идентификаторами. Каждый ID составляется из трех первых букв названия фрукта и объема упаковки.

Напишите функцию, которая будет создавать ID продукта для фруктовых соков.

Примеры:
get_drink_ID("apple", "500ml") ➞ "APP500"
get_drink_ID("pineapple", "45ml") ➞ "PIN45"
get_drink_ID("passion fruit", "750ml") ➞ "PASFRU750"

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

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

#задача #coding
Алгоритм сортировки подсчетом на Python

Давайте разберем программу, сортирующую список методом подсчета (Counting sort). Пример кода и гифка для наглядности прилагаются.

#алгоритмы
Задача на логику. Число 24

Число 24 легко выразить тремя восьмерками: 8+8+8. Но можете ли вы сделать то же, пользуясь не восьмерками, а другими тремя одинаковыми цифрами? Задача имеет не одно решение.

#логическаязадача
Ответ к задаче "Число 24"

22 + 2 = 24
3^3 - 3 = 24

#логическаязадача
Машинное обучение. Практическое руководство по Theano

Вероятно, вы уже где-то слышали о Theano, но знаете ли вы, что это такое? Язык программирования? Компилятор? Библиотека Python? На самом деле, всё перечисленное!

Theano был разработан для компиляции, реализации и оценки математических выражений очень эффективным способом. По сути, он позволяет разработчику выполнять код, используя как CPU, так и GPU.

Книги по ML - @maschinelearning

#ml
Тест на умение объединять и разделять строки

При работе со строками программисту нередко приходится их объединять и делить на части. Проверьте, насколько хорошо вы умеете это делать и разбираетесь ли в конкатенации.

#тест #строки
Топ. Итераторы в Python

Разбираем, что такое итерируемые объекты и итераторы. Подробно и доходчиво, с примерами кода.

#топ
Задача с кодом. Маленькая большая последовательность

Дана следующая последовательность чисел:

5, 100, 6, 200, 7, 400, 8, 800, 9, 1600, 10, 3200, ...

На позиции 1 стоит число 5. Напишите функцию, которая будет возвращать число на позиции n в этой последовательности.

Примеры:
little_big(4) ➞ 200
little_big(5) ➞ 7
little_big(28) ➞ 819200

Примечание: исходим из того, что input всегда будет валидным.

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

#задача #coding
PythonBooksRu - канал для скачивания Python книг на русском языке.

Что в нашем канале:

1. Книги по питону, которые помогут вам пройти собеседование на позицию Python Developer.

2. Все книги на русском языке

3. Все книги можно скачать в 2 клика

4. Всё, никакой другой воды.

Подписывайтесь и качайте книги: @pythonbooksru
Tips & Tricks. Как удалить ключ из словаря в Python

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

Мы рассмотрим три способа удаления ключа из словаря. Вы узнаете, как это сделать, используя метод .pop(), ключевое слово del, а также генератор словаря. Также мы остановимся на том, как удалить сразу несколько ключей.

#tipsandtricks
Задача на логику. Слепые игры

Ты сидишь в помещении, где царит полная темнота, а посередине лежит доска. На ней размещено 50 карт, среди которых 10 лежат рубашкой вверх, а 40 карт — рубашкой книзу.

Задача состоит в том, чтобы разделить этот набор из 50 карт на 2 группы (необязательно одного размера) таким образом, чтоб в обеих кучах находилось одно и то же количество карт рубашкой вверх. Как это сделать?

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

#логическаязадача
Функции в Python: замыкания

В этой статье:
- нелокальная переменная во вложенной функции;
- определение замыкания;
- когда мы имеем дело с замыканием;
- когда стоит использовать замыкания.

#функции
Задача для новичков

Напишите функцию 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