Sobes.tech
Назад к задачам
Junior — Middle+
23

Конвертация строки в целое число с использованием полиморфных парсеров

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Создать программу, которая принимает строковое значение и возвращает целочисленное представление, если оно присутствует. Возможные форматы входных данных:

  • обычное десятичное представление, например: "42";
  • JSON‑строка, содержащая поле "value": "{"value":42}". Если в переданной строке нет числа (или формат не соответствует указанным), функция должна вернуть None. Реализовать решение в объектно‑ориентированном стиле, используя полиморфизм: оформить два отдельных класса‑парсера (один обрабатывает обычные строки, второй – JSON), которые реализуют общий интерфейс/абстрактный класс.

Пример использования:

parser = get_parser(input_str)  # функция выбирает нужный парсер
result = parser.parse()

Где parse возвращает найденное целое число либо None.