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

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

@aldrson
Download Telegram
Задача на логику. Четыре человека, один подвесной мост и зомби, следующие по пятам

Студент, лаборантка, уборщик и старый профессор бегут от зомби. Впереди у них подвесной мост. Если они успеют его перейти, смогут обрезать веревки и оторваться от зомби. Но!

Все беглецы движутся с разной скоростью: студент может перебежать мост за минуту, лаборантка — за 2 минуты, уборщику понадобится 5 минут, старый профессор доковыляет за 10.

Профессор подсчитал, что зомби доберутся до моста через 17 минут. А мост одновременно может выдержать только двоих! Да еще и ночь: ничего не видно. У группы есть только один фонарь, и им придется передавать его друг другу, потому что у идущих по мосту (одного или двоих) фонарь должен быть обязательно.

Как всем успеть перейти через мост до прихода зомби?

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

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

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

1. Pyperclip
2. Emoji
3. Wikipedia
4. Howdoi
5. Antigravity
6. urllib
7. Turtle

#модули
Тест. Числовой тип в Python

Числовой тип в Python довольно прост и интуитивно понятен. Но, разумеется, прост он для тех, кто разобрался в теме. А вы хорошо разобрались? Проверьте: пройдите наш тест!

#тест
Как работает функция return() в Python?

Для получения значения из функции в языках программирования обычно используется оператор return(). Точно так же и в Python оператор return() используется для выхода из функции и возврата значения из функции. В этом уроке мы рассмотрим различные способы использования return() в Python.

#функции
Tips & Tricks. Unexpected exception

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

#tipsandtricks
Задача на логику. Число 1000

Можете ли вы число 1000 выразить восемью одинаковыми цифрами? (Также можно пользоваться знаками действий).

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

888 + 88 + 8 + 8 + 8 = 1000.
(2222 - 222) / 2 = 1000.

Во втором решении цифру 2 можно заменить на любую другую (разумеется, кроме нуля).

#логическаязадача
Топ. Как писать чистый код на Python

Python — один из наиболее элегантных и чистых языков программирования. Но красивый и чистый синтаксис не означает чистый код. И не избавляет разработчиков от необходимости изучать наилучшие приемы и шаблоны проектирования.

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

У вас есть n монет, из которых нужно построить лестницу. Лестница состоит из k рядов, в первом из которых строго одна монета, а в следующих на одну монету больше в каждом последующем. Соответственно, последний ряд может быть неполным. Вот пример такой лестницы:

$
$ $
$ $ $
$ $ $

Как видите, тут 4-й ряд неполон.

Напишите функцию arrangeCoins(), которая принимает на вход целое число n (количество монет), а выводит количество полных рядов лестницы.

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

arrangeCoins(8) --> 3
arrangeCoins(5) --> 2

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

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

def arrangeCoins(n: int) -> int:
counter = 0
m = 0
row = 1
while m <= n:
m += row
row += 1
counter += 1

return counter if counter == row else counter - 1

#задача #coding
Модули. Как использовать модуль Pathlib

Все операционные системы имеют разные правила построения путей к файлам. Например, в Linux для путей используется косая черта (слэш, /), а в Windows — обратная косая черта (обратный слэш, \).

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

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

#модули
Задача с кодом. Число Керзона

Если 2^N+1 без остатка делится на 2*N+1, то число N считается числом Керзона.

Реализуйте функцию, которая будет принимать целое число num и возвращать True, если num — число Керзона, и False — если нет.

Примеры:

is_curzon(5) ➞ True
# 2 ** 5 + 1 = 33
# 2 * 5 + 1 = 11
# 33 кратно 11

is_curzon(10) ➞ False
# 2 ** 10 + 1 = 1025
# 2 * 10 + 1 = 21
# 1025 не кратно 21

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

#задача #coding
Tips & Tricks. Замена пробелов на указанные символы.

Пошагово разбираем задачу с собеседования. Пишем функцию для замены всех пробелов в строке на '%20'.

#tipsandtricks #строки #методы
Задача на логику. Носки и перчатки

В одном ящике лежит 10 пар коричневых и 10 пар черных носков. В другом — 10 пар коричневых и 10 пар черных перчаток.

По сколько носков и перчаток нужно взять из каждого ящика, чтобы из взятого можно было составить пару носков какого-нибудь одного цвета и пару перчаток одного цвета? (Носки и перчатки могут различаться по цвету, но пары должны быть одноцветными).

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

#логическаязадача
Строки. Преобразование строк в дату со временем

Знакомимся с модулем datetime, его методами и расширениями, а также со сторонними библиотеками для работы с датами и временем.

#строки
Тест. Django ORM

Умеете ли вы работать с базами данных с помощью Django ORM? Давайте проверим!

#тест #django
Топ. Вывод всех чисел, кратных определенному числу, в заданном диапазоне

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

#топ
Задача с кодом. Сколько полных оборотов?

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

Примечания:
- Каждый поворот влево или вправо считается поворотом на 90 градусов.
- Один оборот = 360 градусов в одном направлении.
- Вернуть надо положительное число.

Примеры:
spin_around(["left", "right", "left", "right"]) ➞ 0
spin_around(["right", "right", "right", "right", "right", "right", "right", "right"]) ➞ 2
spin_around(["left", "left", "left", "left"]) ➞ 1


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

#задача #coding
Tips & Tricks. Быстрая сортировка на Python

Давайте рассмотрим, как написать на Python программу, которая будет сортировать список методом быстрой сортировки (QuickSort).

#tipsandtricks #списки
Задача на логику. С какой скоростью должен бежать лыжник?

Лыжнику нужно прибыть в указанный пункт ровно в полдень. Если он будет бежать со скоростью 10 км/ч, то прибудет на час позже полудня, а если со скоростью 15 км/ч, то на час раньше полудня.

С какой скоростью должен бежать лыжник, чтобы прибыть на место ровно в полдень?

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

#логическаязадача
Топ. 9 полезных библиотек Python

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

#топ