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

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

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

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



Сообщение: 1
ссылка на сообщение  Отправлено: 31.01.22 00:42. Заголовок: задача 4528


Добрый день,
решала задачу номер 4528
Текстовый файл 24-181.txt содержит строку из заглавных латинских букв и точек, всего не более 106 символов. Определите максимальное количество идущих подряд символов, среди которых не более пяти точек.

f=open('/Users/annazvereva/Desktop/24д.txt')
s=f.readline()

clean=mlean=cntt=0
for i in range (len(s)):
if s in "QWERTYUIOPASDFGHJKLZXCVBNM.":
clean+=1
if s== "." :
cntt+=1
if cntt<=5:
mlean=max(mlean,clean)
else:
clean=cntt=0

print(mlean)


выходит ответ почему-то 413(в ответах 550), уже голову сломала, как можно иначе написать, все одно и то же число.

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







Сообщение: 27
ссылка на сообщение  Отправлено: 31.01.22 13:15. Заголовок: Одно из возможных ре..


Одно из возможных решений.
 
import sys

sys.stdin = open(r"C:\Users\nickolas\Downloads\24-181.txt")
s = str(input())
cnt = 0
maxlen = 0
gg = [[0, 0]]
for i in range(len(s)):
if s[ i] == '.':
gg.append([i, 1])
if i - 1 >= 0 and s[i - 1] != '.':
gg.append([i - 1, 0])
if i + 1 < len(s) and s[i + 1] != '.':
gg.append([i + 1, 0])
gg.append([999999, 0])
gg.sort()
for i in range(len(gg)):
cnt = 0
for j in range(i, min(len(gg), i + 20)):
if gg[j][1] == 1:
cnt += 1
if cnt <= 5:
maxlen = max(maxlen, gg[j][0] - gg[ i][0] + 1)
else:
break
print(maxlen)


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

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