Найти тему
Заметки по Python

Основы Python. Часть 14

Оглавление

Задача 1. Работа с файлом

Реализуйте модернизированную версию контекст-менеджера File:

  • теперь при попытке открыть несуществующий файл менеджер автоматически создаёт и открывает этот файл в режиме записи;
  • на выходе из менеджера подавляются все исключения, связанные с файлами.

Задача 2. Математический модуль

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

Реализуйте класс MyMath, состоящий как минимум из следующих методов (можете бонусом добавить и другие методы):

  • вычисление длины окружности,
  • вычисление площади окружности,
  • вычисление объёма куба,
  • вычисление площади поверхности сферы.
-2

Задача 3. Дата

Что нужно сделать

Реализуйте класс Date, который должен:

  • проверять числа даты на корректность;
  • конвертировать строку даты в объект класса Date, состоящий из соответствующих числовых значений дня, месяца и года.

Оба метода должны получать на вход строку вида dd-mm-yyyy.

При тестировании программы объект класса Date должен инициализироваться исключительно через метод конвертации.

-3

Задача 4. Кэширование запросов

Вы разрабатываете программу для кэширования запросов к внешнему API. Часто повторяющиеся запросы занимают много времени, поэтому вы решаете создать класс LRU Cache (Least Recently Used Cache), который будет хранить ограниченное количество запросов и автоматически удалять самые старые при достижении лимита. Это позволит значительно ускорить повторяющиеся запросы, так как данные будут браться из кэша, а не отправляться повторно.

Задача

  1. Создайте класс LRU Cache, который хранит ограниченное количество объектов и, при превышении лимита, удаляет самые давние (самые старые) использованные элементы.
  2. Реализуйте методы добавления и извлечения элементов с использованием декораторов property и setter.
-4

Наука
7 млн интересуются