Sobes.tech
Back to tasks
Junior — Middle+
22

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

Get help with live coding in real time with Sobes Copilot
Task condition

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

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

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

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

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