Форум » Обработка символьных строк » № 4917 » Ответить

№ 4917

inform_lesson: (№ 4917) Текстовый файл 24-191.txt содержит строку из заглавных латинских букв, всего не более чем из 106 символов. Определите количество подстрок длиной не менее 20 символов, которые начинаются буквой A, заканчиваются буквой B и не содержат других букв A и B, кроме первой и последней. Добрый день. Программа не работает, может кто-то решал похожую задачу. В чём ошибка ? [pre2] p=0 with open('24-191.txt') as f: s=f.readline() for i in range(len(s)): k=0 if s[ i]=='A': while s[ i]!='B': if s[ i+1]!='A' and s[ i+1]!='B': k+=1 if k>=20: p+=1 print(p) [/pre2]

Ответов - 1

MercuL`: По-моему, ваше решение слегка запутанное. Не претендую на понятность моего, но ответ правильный. [pre2] s = open('24-191.txt').readline() count = 0 s1 = '' for i in range(1, len(s)): if s[ i] == 'A': s1 = 'A' elif s[ i] != 'B' and len(s1) > 0: s1 += s[ i] else: s1 += s[ i] if len(s1) >= 20: count += 1 s1 = '' print(count) [/pre2]



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