Автор | Сообщение |
|
Отправлено: 18.06.22 11:20. Заголовок: Задача 4752
Добрый день! Не сходится ответ. Моя программа выдает ответ 71. У вас 90. Я попробовала среди всех строк длины 90 найти ту, что удовлетворяет условию - не вышло.. 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]))
|
|
|
Ответов - 2
[только новые]
|
|
|
| Администратор
|
Сообщение: 3615
|
|
Отправлено: 24.06.22 12:40. Заголовок: Вы не учитываете, чт..
Вы не учитываете, что искомая строка может быть частью подстроки, в которой больше 7 гласных. Если вы нашли подстроку, где более 7 гласных, вы ее сразу выкидываете. А, возможно, достаточно просто подрезать ее.
|
|
|
|
Отправлено: 24.06.22 19:24. Заголовок: Спасибо! Полезно нат..
Спасибо! Полезно натыкаться на такие свои ошибки! Исправила код: 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)
|
|
|
|