Все задачи №24
№24

Корректное выражение с «-» и «*»

Текстовый файл. Файл из цифр 0–4 и знаков «-», «*». Найди максимальное число символов в корректном выражении с целыми неотрицательными числами (без ведущих нулей, число 0 без знака, два знака подряд не стоят).

Источник: ФИПИ, № 31129

Скачать файл: task_31129_A.txt. В редакторе он уже лежит рядом с кодом, открывай как на экзамене: open('task_31129_A.txt').

Ответвпиши то, что вывела программа
Показать разбор
  1. Опиши число без ведущих нулей: 0 или ненулевая цифра и дальше любые цифры.
  2. Выражение это число, а дальше сколько угодно пар «знак и число». Два знака подряд так не получатся.
  3. Пройди по файлу через finditer и возьми наибольшую длину совпадения.
from re import finditer
s = open('task_31129_A.txt').readline().strip()
num = r'(0|[1-9][0-9]*)'
v = rf'{num}([-*]{num})*'
print(max(len(x.group()) for x in finditer(v, s)))