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

РКН: https://kurl.ru/WPjOT
Download Telegram
Топ. Метаклассы в Python

Рассказываем, что такое метаклассы в Python, зачем они нужны и как их создавать.

#топ
Тест по администрированию Linux

Кол-во вопросов: 19

Многие из нас умеют пользоваться ОС Linux, в том числе вводить команды в консоли. Несколько меньше пользователей умеет, например, писать скрипты. Насколько хороши ваши навыки администрирования Linux? Предлагаем пройти тест и проверить.

Это вступительный тест на курс «Administrator Linux Advanced». После успешного прохождения с вами свяжется менеджер OTUS, чтобы пригласить на курс.
Задачи по Python - канал с задачками и тестами по Python.

Практические задачи и тесты с собеседований на Junior Python разработчика

Подписывайтесь: @pythonquestions
https://tttttt.me/nosqljunior - тесты по MongoDB.

Каждый dev должен быть в теме нереляционных баз данных.

Мы собрали тесты по монге для базовой проверки ваших знаний.

Подписывайтесь: https://tttttt.me/nosqljunior
Задача с кодом. Сбалансированный список

Дан список чисел. Все числа целые, не отрицательные. Количество чисел четное.

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

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

Если сумма чисел в обеих половинах одинакова, функция должна вернуть исходный список.

Примеры

balanced([1, 2, 4, 6, 3, 1]) 
➞ [6, 3, 1, 6, 3, 1]
# 1 + 2 + 4 < 6 + 3 + 1
# Итоговый список [6, 3, 1, 6, 3, 1]

balanced([88, 3, 27, 5, 9, 0, 13, 10])
➞ [88, 3, 27, 5, 88, 3, 27, 5]
# 88 + 3 + 27 + 5 > 9 + 0 + 13 + 10
# Итоговый список [88, 3, 27, 5, 88, 3, 27, 5]

balanced([7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6])
➞ [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]
# 7 + 5 + 2 + 6 + 1 + 0 = 1 + 5 + 2 + 7 + 0 + 6
# Итоговый список [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]

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

#задача #coding
Топ. Комментарии в Python: как закомментировать блок кода

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

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

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

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

Спасибо, редакция pythonist.ru
В какую сторону будет вращаться последняя шестеренка "Б", если первая шестеренка "А" вращается по часовой стрелке?
Тест для Python-разработчиков

У вас уже есть опыт работы с Python? Предлагаем пройти тест для настоящих профессионалов и проверить свои навыки!

Количество вопросов: 20.

После удачного прохождения теста с вами свяжется менеджер курсов от компании Otus.
Задача с кодом. Цветные карандаши

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

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

- на смену карандаша уходит 1 секунда
- на закрашивание квадратика уходит 2 секунды

Пример с пояснением

color_pattern_times(["Red", "Blue", "Red", "Blue", "Red"]) ➞ 14
# Тут 5 цветов. На закрашивание уйдет по 2 с на каждый (2 x 5 = 10).
# Карандаш придется сменить 4 раза, каждая смена займет секунду (1 x 4 = 4).
# 10 + 4 = 14

Примеры

color_pattern_times(["Blue"]) ➞ 2
color_pattern_times(["Red", "Yellow", "Green", "Blue"]) ➞ 11
color_pattern_times(["Blue", "Blue", "Blue", "Red", "Red", "Red"]) ➞ 13

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

#задача #coding
Тест. Исключения в Python

Хорошо ли вы понимаете, как работают исключения в Python? Пройдите тест из 10 вопросов и проверьте!

#тест
Задача на логику. Есть ли какая-нибудь закономерность в следующем ряду цифр и в чём она заключается?

8 2 9 0 1 5 7 3 4 6

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

#логическаязадача
Тест. Кортежи (уровень — средний)

Кортежи (tuple) в Python – это те же списки, но за одним исключением: кортежи — неизменяемые структуры данных. Хорошо ли вы умеете ими пользоваться? Пройдите тест по кортежам из 10 вопросов и проверьте!

#тест
Задача с кодом. Boom!

Напишите функцию, которая будет принимать список чисел и возвращать «Boom!», если в списке встречается цифра 7. В противном случае функция должна вернуть «there is no 7 in the list».

Примеры

seven_boom([1, 2, 3, 4, 5, 6, 7]) ➞ "Boom!"
# В списке есть число 7

seven_boom([8, 6, 33, 100]) ➞ "there is no 7 in the list"
# Ни в одном из чисел нет цифры 7

seven_boom([2, 55, 60, 97, 86]) ➞ "Boom!"
# 97 содержит 7

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

#задача #coding
Python книги на русском языке - новый канал, где можно скачивать книги по Python на русском.
Топ. Онлайн курсы программирования для детей

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

#топ
Задача с кодом. Биграммы

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

Биграмма — это два символа, идущих последовательно в одном слове.

Если список слов пуст, функция должна вернуть False.

Примеры:

can_find(["at", "be", "th", "au"], ["beautiful", "the", "hat"]) 
➞ True

can_find(["ay", "be", "ta", "cu"], ["maybe", "beta", "abet", "course"])
➞ False
# "cu" не встречается ни в одном слове

can_find(["th", "fo", "ma", "or"], ["the", "many", "for", "forest"])
➞ True

can_find(["oo", "mi", "ki", "la"], ["milk", "chocolate", "cooks"])
➞ False

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

#задача #coding
Задача с кодом. По буквам

Напишите функцию, которая:

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

Примечания:

- Слово в конце строки всегда написано правильно
- Буквы, которые должны образовать слово, написаны в верхнем регистре и отделяются точками. Сверяя образованное ими слово со словом в конце строки, игнорируйте все знаки препинания.

Примеры

validate_spelling("C. Y. T. O. P. L. A. S. M. Cytoplasm?")
➞ True

validate_spelling("P. H. A. R. A. O. H. Pharaoh!")
➞ True

validate_spelling("H. A. N. K. E. R. C. H. E. I. F. Handkerchief.")
➞ False

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

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

Переписка доклада поручена двум машинисткам. Более опытная из них могла бы выполнить всю работу за 2 часа, а менее опытная — за 3 часа. За сколько времени перепишут они этот доклад, если разделят между собой работу так, чтобы выполнить ее в кратчайший срок?

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

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

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