Задача к ЕГЭ по информатике на тему «поиск максимальной подстроки» №10

Текстовый файл состоит не более чем из 106  символов и содержит только символы, обозначающие знаки «-», «*», и цифры 0, 7, 8, 9. Определите в прилагаемом файле значение арифметического выражения у подстроки, которая содержит максимальное количество идущих подряд символов, которые образуют математически правильную последовательность, в которую входят знаки «-» или «*» и натуральные числа без незначащих нулей.

В ответ запишите первые 6 цифр данного числа (знак в ответ не указывать).

from re import *
s = open(’24_2.txt’).readline()
#задаём маску подходящего числа
num = r’([789][0789]*)’
#задаём маску подходящей подстроки
reg = rf’{num}([-*]{num})*’
#вычисляем максимальную по длине подходящую по маске подстроку
m = max([x.group() for x in finditer(reg,s)],key = len)
#выводим ответ
#для подсчёта значения выражения используем функцию eval
print(str(abs(eval(m)))[:6])

Ответ: 607526
Оцените статью
Я решу все!