Pythonist.ru - образование по питону
25.4K subscribers
243 photos
5 videos
5 files
1.07K links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://kurl.ru/WPjOT
Download Telegram
Топ. Итераторы в Python

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

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

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

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
👍41
PythonBooksRu - канал для скачивания Python книг на русском языке.

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

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

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

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

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

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

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

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

#tipsandtricks
👍3🥴1
Задача для новичков

Напишите функцию 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
😁4
Топ. Удаление дубликатов из связного списка в 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
👍9
Задача на логику. Ищем кошку

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

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

#логическаязадача
👎62👍1
Топ. 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
👍8
Задача на логику. Фальшивая монета

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#задача #coding
👍1
Задача для новичков

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

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

countSegments('Напишите функцию countSegments()') --> 3
countSegments('Под сегментами подразумеваются последовательности') --> 4

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

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

def countSegments(s: str) -> int:
return len(s.split())

#задача #coding
Задача с кодом. Разбивка строки по заглавным буквам

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

Примеры:

cap_space("helloWorld") ➞ "hello world"
cap_space("iLoveMyTeapot") ➞ "i love my teapot"
cap_space("stayIndoors") ➞ "stay indoors"

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

#задача #coding
👍21