Информатика ЕГЭ 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 шт):
Ваш код как-то сильно не о том – зачем сравнивать с предыдущим символом?? И остаток от деления у символа берёте, без преобразования к числу. Плюс можно цикл сделать сразу по символам, а не индексам строки, да переменные назвать более читабельно.
# 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)