Информатика ЕГЭ 24 задание

Возникли проблемы с написанием кода для данной задачи:

Текстовый файл состоит не более чем из 106 символов. Найдите максимальную длину строки, состоящей из нечетных десятичных цифр. Для выполнения этого задания следует написать программу.

f = open('55.txt')
s = f.readline()
c = 0
m = 0
for i in range(1, len(s)-1):
    if s[i]==s[i-1] and s[i]%2!=0:
        c+=1        
        m = max(m ,c)
    else:
        c=0
print(m)

Можно просто создать файл TXT. и прописать в нем рандомные символы и буквы. Мне главное код понять. Заранее спасибо.

Для проверки кода можно использовать вот эту строку:

056a43184vb25412135dgf79451dfg3579sd156413579gdfg597dfgxcv12379


Ответы (1 шт):

Автор решения: AivanF.

Ваш код как-то сильно не о том – зачем сравнивать с предыдущим символом?? И остаток от деления у символа берёте, без преобразования к числу. Плюс можно цикл сделать сразу по символам, а не индексам строки, да переменные назвать более читабельно.

# fl = open('55.txt')
# line = fl.readline()
line = '056a43184vb25412135dgf79451dfg3579sd156413579gdfg597dfgxcv12379'
cnt = 0
res = 0
for char in line:
    if char.isdigit() and int(char) % 2 == 1:
        cnt += 1
        res = max(res, cnt)
    else:
        cnt = 0
print(res)
→ Ссылка