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

РКН: https://kurl.ru/WPjOT
Download Telegram
Топ. Алгоритмы поиска на Python

Умение выбрать нужный алгоритм для конкретной задачи является ключевым навыком для разработчиков.

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

- операторы членства (Membership Operators)
- линейный поиск
- бинарный поиск
- улучшенный линейный поиск — Jump Search
- поиск Фибоначчи
- экспоненциальный поиск
- интерполяционный поиск

#топ #алгоритмы
Задача с кодом. Двойной факториал

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

Если num — четное число:
num !! = num (num - 2)(num - 4)(num - 6) ... (4)(2)

Если num — нечетное число:
num !! = num (num - 2)(num - 4)(num - 6) ... (3)(1)

Если num = 0 или num = -1, тогда num !! = 1.

Примечания:
- Исходим из того, что num будет больше или равно -1.
- Двойной факториал — не то же самое, что умноженный на 2.
- Попробуйте решить при помощи рекурсии.

Примеры:

double_factorial(0) ➞ 1
double_factorial(2) ➞ 2
double_factorial(9) ➞ 945
# 9*7*5*3*1 = 945
double_factorial(14) ➞ 645120

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

#задача #coding
Топ. Руководство по PyQt5

Рассказываем, как использовать Python 3 и Qt для создания графического интерфейса пользователя в Windows, Mac или Linux. Также рассмотрим написание установщика.

#топ
Какое имя переменной из списка является НЕ верным в Python?
Anonymous Quiz
2%
N
21%
sum
20%
_____
3%
IXV3
43%
41B3
10%
Узнать ответ
Задача на логику. Шкивы и передачи

Шкивы А, Б, В и Г соединены передачами, как показано на рисунке. Если при таком соединении движение всех четырех шкивов возможно, то в каком направлении будет вращаться каждый шкив в том случае, когда шкив А вращается в направлении, указанном стрелкой?

Вопрос:

Возможно ли движение шкивов, если все четыре ремня будут перекрещены, как на шкивах А и Б? А если только 1 или 3 ремня будут перекрещены?

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

#логическаязадача
Функция в Python: руководство для начинающих

Научиться правильно использовать функции – важный навык для любого Python-разработчика. В этой статье мы разбираем, что такое функции, для чего они нужны, какие они бывают и как их создавать и вызывать.

#функции
Тест. Строки в Python и работа с ними

Строки в Python — один из основных типов данных. Для работы с ними есть множество встроенных методов, что лишь подчеркивает, насколько часто программистам приходится с ними работать.

Проверьте, насколько хорошо вы знаете азы этой темы: пройдите тест из 10 вопросов!

#тест #строки
Топ. Virtualenv: руководство по виртуальному окружению Python

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

#топ
Задача с кодом. Циклический сдвиг

Напишите функцию, которая будет принимать два списка (lst1 и lst2), а также целое число n, и проверять, равен ли второй список первому, циклически смещенному на n позиций.

Примечания:
- Списки будут одинаковой длины.
- n может быть отрицательным числом.

Примеры:

circular_shift([1, 2, 3, 4], [3, 4, 1, 2], 2) ➞
True

circular_shift([1, 1], [1, 1], 6) ➞
True

circular_shift([0, 1, 2, 3, 4, 5], [3, 4, 5, 2, 1, 0], 3) ➞
False

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

#задача #coding
Задача на логику. Попробуйте отвесить

В пакете содержится 9 кг крупы. Попробуйте при помощи чашечных весов и гирь в 50 и 200 г распределить всю крупу по двум пакетам: в один — 2 кг, в другой — 7 кг. При этом разрешается произвести только три взвешивания.

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

#логическаязадача
Топ. Вопросы на собеседовании. Часть II. Middle

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

#топ
Тест. Цикл while

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

#тест
Строки. Как преобразовать строку в число в Python

В Python есть различные встроенные способы преобразования типов. В этой статье мы остановились на том, как преобразовать строку в целое число.

#топ #строки
Задача с кодом. Только буквы

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

Примечания:
- Если в функцию передана пустая строка, возвращается False.
- На вход могут подаваться строки, содержащие и буквы, и цифры, и прочие символы.

Примеры:

letters_only("PYTHON") ➞ False
letters_only("python") ➞ True
letters_only("12321313") ➞ False
letters_only("i have spaces") ➞ True
letters_only("i have numbers(1-10)") ➞ False
letters_only("") ➞ False

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

#задача #coding
Строки. 10 приемов для преобразования и декомпозиции строк в Python

В этой статье:
- Translate и Replace
- Очистка строки
- Разбиение строки
- Strip и zfill
- Деконструкция и реконструкция
- Удаление знаков препинания
- Работа с регистрами и пр.

#строки #функции
Тест. Приоритет операторов

Оператор в Python — это символ, который выполняет операцию над одним или несколькими операндами. Операндом выступает переменная или значение. Пока оператор один, с ним все понятно. Но если одновременно используется несколько операторов, нужно учитывать их приоритет. Умеете ли вы это делать? Пройдите наш тест и проверьте!

#тест
🐧 Linux Junior - канал для Linux любителей.
Тем кому нравится командная строка и то, какое волшебство можно в ней делать.

 -rf *
man man
touch -m old_file
shutdown now

Эти и другие команды ты можешь выучить у нас в игровой форме.

Подписывайся и отвечай на вопросы, решай задачки: @juniorlinux
ООП. Пять важных понятий, необходимых для быстрого старта в Python ООП

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

#ооп
Задача с кодом. Имена и инициалы

Напишите класс Name и создайте атрибуты для передаваемых имени и фамилии (fname и lname соответственно), а также:
- атрибут fullname, возвращающий имя и фамилию,
- атрибут initials, возвращающий первые буквы имени и фамилии с точкой между ними.

Не забудьте дать доступ и к атрибутам fname и lname. Проследите, чтобы только первые буквы имен и фамилий были заглавными.

Примеры:

a1 = Name("john", "SMITH")

a1.fname ➞ "John"
a1.lname ➞ "Smith"
a1.fullname ➞ "John Smith"
a1.initials ➞ "J.S"

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

#задача #coding
Задача на логику. Числовой ребус

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

Определите, какие числа умножались.

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

#логическаязадача