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

задание 24 (№ 6252) не сходится ответ

лана: "Текстовый файл 24-253.txt состоит не более чем из 106 символов и содержит только буквы латинского алфавита A, C, D, F и O. Определите максимальное количество идущих подряд троек символов вида: согласная + любая буква + гласная" файл - https://kpolyakov.spb.ru/cms/files/ege-sym/24-253.txt пробовала разными способами(с replace и без), но почему-то выходит 2, а на сайте ответ - 6 :( [pre2] with open('24-253.txt') as f: s = f.readline() s = s.replace('C', '1') s = s.replace('D', '1') s = s.replace('F', '1') s = s.replace('A', '2') s = s.replace('O', '2') a = [] for x in s: a.append(str(x)) k = 0 maxs = 0 for i in range(0, len(a)-2): if a[ i] == '1' and (a[ i+1] == '1' or a[ i+1] == '2') and a[ i+2] == '2': k = k + 1 maxs = max(maxs, k) else: k = 0 print(maxs)[/pre2]

Ответов - 2

elpov06: здравствуйте, в Вашем решении i меняется неверно, я применяла цикл while у меня получилось) [pre2]f=open("24-253.txt") s=f.readline() #s="ACCADAADD" i=0 k=0 ma=0 while i<len (s)-2: #print(i,s, s[i+1], s[i+2]) if s in "CDF" and s[i+2] in "AO": k=k+1 #print(i,s, s[i+1], s[i+2],"___________") i=i+3 if k>ma: ma=k else: k=0 i=i+1 print(ma) [/pre2]

лана: большое спасибо!! и правда, про смену i забыла



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