Задача #2639

Работа со строками

Уровень ЕГЭ

(А. Сражаев) Текстовый файл состоит из десятичных цифр, а так же знака точки и знака & (амперсанд). Определите максимальное количество символов в непрерывной последовательности, которая является выражением вида четырехзначное вещественное число&четырехзначное вещественное число (например, 1234.56&2345.09874). В записи чисел отсутствуют незначащие (ведущие) нули.
В ответе укажите количество символов

Файлы к задаче

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

45

Видео по задаче

s = next(open('24.txt'))

from re import finditer
word = r'[1-9][0-9]{3}[.][0-9]+'
m = max([s.group(1) for s in finditer(rf'(?=({word}&{word}))', s)], key=len)
print(m, len(m))
s = s.split('&')

a = []

for c1,c2 in zip(s, s[1:]):
c1 = c1.split('.')
c2 = c2.split('.')
if len(c1)>=2 and len(c2)>=2 and len(c1[-2])>=4 and c1[-2][-4]!='0' and len(c1[-1])>0 and \
len(c2[0])==4 and c2[0][0]!='0' and len(c2[1])>0:
a.append(c1[-2][-4:]+'.'+c1[-1]+'&'+c2[0]+'.'+c2[1])

a.sort(key=len,reverse=1)

print(a[0], len(a[0]))
Быстрый переход
Перейти к задаче