Текстовый файл 24_7.txt состоит из символов, обозначающих знаки «+», «*» и десятичных цифр.
Определите максимальное значение, которое является результатом вычисления непрерывной последовательности, являющейся корректным арифметическим выражением с целыми неотрицательными числами, в котором обязательно присутствует операция умножения, но операция сложения может как присутствовать, так и полностью отсутствовать.
В этом выражении никакие два знака арифметических операций не стоят рядом. В записи чисел отсутствуют незначащие (ведущие) нули и число 0 не имеет знака.
В ответе укажите значение полученного выражения.
import re
f = open("24_7.txt")
s = f.readline()
# 1. (0|[1-9]d*) — число: 0 или число без ведущих нулей.
# 2. (?:[+*](0|[1-9]d*))+ — группа: оператор (+ или *) и число, повторяется 1+ раз.
pattern = re.compile(
r"(0|[1-9]d*)(?:[+*](0|[1-9]d*))+"
)
matches = pattern.finditer(s)
max_value = 0
for match in matches:
exp = match.group()
if ’*’ in exp:
value = eval(exp)
max_value = max(max_value, value)
print(max_value)
Ответ: 21845377589406941406424045870280528538916509558058704434454291