На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 47
ссылка на сообщение  Отправлено: 30.03.23 10:06. Заголовок: № 4917


(№ 4917) Текстовый файл 24-191.txt содержит строку из заглавных латинских букв, всего не более чем из 106 символов. Определите количество подстрок длиной не менее 20 символов, которые начинаются буквой A, заканчиваются буквой B и не содержат других букв A и B, кроме первой и последней.

Добрый день. Программа не работает, может кто-то решал похожую задачу. В чём ошибка ?
  
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)


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]







Сообщение: 7
ссылка на сообщение  Отправлено: 16.04.23 20:43. Заголовок: По-моему, ваше решен..


По-моему, ваше решение слегка запутанное. Не претендую на понятность моего, но ответ правильный.

 
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)


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 5333
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет