Как дела?

Что нужно сделать Ваня что-то совсем заскучал на работе и решил побаловаться с кодом проекта. Он написал надоедливый декоратор, который при вызове декорируемой функции спрашивает у пользователя «Как дела?», вне зависимости от ответа отвечает что-то вроде «А у меня не очень!» и только потом запускает саму функцию. Правда, после такой выходки его чуть не уволили с работы. Реализуйте такой же декоратор и проверьте … Читать далее

Обработка логов

Контекст Вы работаете в большой компании, которая обслуживает сложную систему торговли. Каждый день генерируется огромное количество лог-файлов, содержащих информацию о торговых операциях. Вам поставлена задача разработать программу, которая будет автоматически анализировать эти лог-файлы и находить строки с сообщениями об ошибках (ERROR). Это поможет вам быстро отслеживать проблемы в торговой системе и эффективно на них реагировать. Задача Напишите программу, которая считывает строки из файла … Читать далее

Односвязный список

Что нужно сделать Мы продолжаем тему структур данных и алгоритмов. И в этот раз вам нужно реализовать односвязный список. Связный список — это структура данных, которая состоит из элементов, называющихся узлами. В узлах хранятся данные, а между собой узлы соединены связями. Связь — это ссылка на следующий или предыдущий элемент списка. В односвязном списке связь — это ссылка только на следующий элемент, то есть в нём можно передвигаться … Читать далее

Количество строк

Что нужно сделать Реализуйте функцию-генератор, которая берёт все питоновские файлы в директории и вычисляет количество строк в каждом файле, игнорируя пустые строки и строки комментариев. По итогу функция-генератор должна с помощью yield каждый раз возвращать количество строк в очередном файле. Что оценивается

Пути файлов

Что нужно сделать Реализуйте функцию gen_files_path, которая рекурсивно проходит по всем каталогам указанной директории (по умолчанию — корневой диск), находит указанный пользователем каталог и генерирует пути всех встреченных файлов. Подсказка: Существует функция, которая может получать все имена файлов в дереве каталогов. Попробуйте найти ее самостоятельно. Что оценивается

Квадраты чисел

Что нужно сделать Пользователь вводит число N. Напишите программу, которая генерирует последовательность из квадратов чисел от 1 до N (1 ** 2, 2 ** 2, 3 ** 2 и так далее). Реализацию напишите тремя способами: класс-итератор, функция-генератор и генераторное выражение. Что оценивается

Абстрактный класс

Контекст Вы работаете в компании, занимающейся разработкой программного обеспечения для архитектурных проектов. Вам необходимо разработать программу для расчёта площади различных геометрических фигур, таких как круги, прямоугольники и треугольники. Задача Создайте: Классы Circle, Rectangle и Triangle наследуют от класса Shape и реализуют метод для вычисления площади фигуры. Дополнительно: изучите информацию о работе с абстрактными классами. https://docs-python.ru/tutorial/klassy-jazyke-python/abstraktnye-klassy/ На основе этой информации сделайте так, чтобы:

Стек

Что нужно сделать Мы уже говорили, что в программировании нередко необходимо создавать свои собственные структуры данных на основе уже существующих. Одной из таких «базовых» структур является стек. Стек — это абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Простой пример: стек из книг на столе. Единственной книгой, чья обложка видна, является самая верхняя. Чтобы получить доступ к, например, третьей снизу книге, нам нужно убрать все … Читать далее

RPG игра

Вася решил заняться разработкой компьютерных игр (кстати python применяется даже в геймдеве!). Ему поручили разрабатывать искусственный интеллект для союзников, которые сражаются бок о бок с реальными игроками. Но так как Вася пока не силён в теме машинного обучения и нейросетей — ему предстоит заменить эти знания смекалкой и набором if/else условий. Вася уже написал код, описывающий монстров (файл monsters.py), этот код изменять нельзя. В файле heroes.py … Читать далее

Свой словарь

Что нужно сделать В силу обстоятельств Васе постоянно приходится работать со словарями и их данными. В том числе и с методом get, который по умолчанию возвращает None, если такого ключа в словаре нет. Однако Васю это не устраивает: для нормальной работы ему нужно возвращать число 0. Реализуйте класс MyDict, который будет вести себя точно так же, как и обычный словарь, за исключением того, что метод get по умолчанию будет … Читать далее