Форум » Обработка символьных строк » №4751 (24.188) не сходится ответ » Ответить

№4751 (24.188) не сходится ответ

beep: Здравствуйте! Нужно найти максимальной длины подстроку, в которой нет символа Y и количество точек не превышает 5. В ответе 202, у меня получилось 208. [pre]with open("24-181.txt") as f: for line in f: if line[-1] == "\n": line = line[ : -1] st = 456750 end = 456960 ss = line[st + 1 : end - 1] print(len(ss), ss.count("."), "Y" in ss) # 208 5 False[/pre] Где ошибка?

Ответов - 5

Поляков: Уже исправлено, спасибо. Ваш ответ верный.

AnnaPershina: Подскажите, пожалуйста, что я не учитываю. Выдает 202 [pre2] f=open("24-181.txt") s=f.readline() s=s.split('Y') ss=[p for p in s if p.count('.')<=5] print(len(max(ss,key=len))) [/pre2]

Поляков: AnnaPershina пишет: что я не учитываю. Не учитываете, что цепочку, в которой более 5 точек, можно обрезать так, чтобы точек было ровно 5.


AnnaPershina: Поняла. Спасибо

AnnaPershina: [pre2] f=open("24-181.txt") s=f.readline() ss='' k=0 SS=[] for i in range(len(s)): if s[ i]=='Y': ss,k='',0 else: if s[ i]!='.': ss=ss+s[ i] elif s[ i]=='.': k+=1 if k<=5: ss = ss + s[ i] if k>5: ss, k = '', 0 SS.append(ss) #print(SS) print(len(max(SS,key=len))) [/pre2]



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