Логирование

Что нужно сделать Реализуйте декоратор logging, который будет отвечать за логирование функций. На экран выводится название функции и её документация. Если во время выполнения декорируемой функции возникла ошибка, то в файл function_errors.log записываются названия функции и ошибки. Также постарайтесь сделать так, чтобы программа не завершалась после обнаружения первой же ошибки, а обрабатывала все декорируемые функции и сразу записывала все ошибки в файл. Дополнительно: запишите дату … Читать далее

Замедление кода

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

Как дела?

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

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

Контекст Вы работаете в большой компании, которая обслуживает сложную систему торговли. Каждый день генерируется огромное количество лог-файлов, содержащих информацию о торговых операциях. Вам поставлена задача разработать программу, которая будет автоматически анализировать эти лог-файлы и находить строки с сообщениями об ошибках (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, «последним пришёл — первым вышел»). Простой пример: стек из книг на столе. Единственной книгой, чья обложка видна, является самая верхняя. Чтобы получить доступ к, например, третьей снизу книге, нам нужно убрать все … Читать далее