Алгоритм решения задания 15. Часть 4
Учимся решать 15 задания четвёртого типа
Читать
Текстовый файл состоит из цифр 0, 6, 7, 8, 9 и знаков арифметических операций «–» и «*» (вычитание и умножение).
Определите максимальное количество символов в непрерывной последовательности, которая является корректным арифметическим выражением с целыми неотрицательными числами.
В этом выражении никакие два знака арифметических операций не стоят рядом, в записи чисел отсутствуют незначащие (ведущие) нули и число 0 не имеет знака.
import re
with open('2406.txt', 'r') as file:
data = file.readline()
# Паттерн для определения числа (без ведущих 0)
num = r'(?:[6789][06789]*)'
# Поиск подстроки
pattern = rf'{num}(([-*]{num})*([-*]0)*)*'
matches = re.finditer(pattern, data)
answer = max([len(match.group()) for match in matches])
print(answer)
