Форум » Обработка символьных строк » Задача 4752 » Ответить

Задача 4752

ЖаннаШ: Добрый день! Не сходится ответ. Моя программа выдает ответ 71. У вас 90. Я попробовала среди всех строк длины 90 найти ту, что удовлетворяет условию - не вышло.. [pre2] f=open('c:/1.txt') s=f.readline() f.close() for c in 'AEIOUY': s=s.replace(c,'1') s=s.split('.') print(max([len(c) for c in s if c.count('1')<=7])) [/pre2]

Ответов - 2

Поляков: Вы не учитываете, что искомая строка может быть частью подстроки, в которой больше 7 гласных. Если вы нашли подстроку, где более 7 гласных, вы ее сразу выкидываете. А, возможно, достаточно просто подрезать ее.

ЖаннаШ: Спасибо! Полезно натыкаться на такие свои ошибки! Исправила код: [pre2] f = open('c:/1.txt') s = f.readline() f.close() maxi=0 for l in range(1000): for i in range(len(s)-l): ss=s[i:i+l:] if ss.count('.')==0 and len([c for c in ss if c in 'AEIOUY'])<=7: maxi=max(maxi,l) break if l>maxi+2: break print(maxi) [/pre2]



полная версия страницы