Задача Прога s = open ('24.txt').readline().strip() s = s.replace ('+*', '!').replace ('*+', '!') s = s.replace ('++', '!').replace ('++', '!') s = s.replace ('*+', '!').replace ('+*', '!') s = s.replace ('**', '!').replace ('**', '!') for i in ('0123456789*+'): s = s.replace (i, 'n') x = '' while (x + 'n') in s: x += 'n' print (len(x)) Code s = open ('24.txt').readline().strip() s = s.replace ('+*', '!').replace ('*+', '!') s = s.replace ('++', '!').replace ('++', '!') s = s.replace ('*+', '!').replace ('+*', '!') s = s.replace ('**', '!').replace ('**', '!') for i in ('0123456789*+'): s = s.replace (i, 'n') x = '' while (x + 'n') in s: x += 'n' print (len(x)) Правильный ответ будет 191, но прога выдает 189, почему так происходит? Где ошибка?
korlad, сделай меньше данных, закинь текстом, когда он сделает верный код, то протестируй со своими реальными данными
С кодом все в порядке. Результатом должна быть последовательность, в котором нет два или более идущих подряд ариф. символов. Твой код заменяет все ариф. символы, из-за чего концы теряются. Последовательность c включенными концами: ...+*0+50336*0+0*0+0*0+0+0*29085+0*0*0*0+63869+0+0*0*81485+0*59769*0*11776*0+0+0*0+72158*0+0*0+0+19103*0+0*0*0*0*0+0*64798*0+0+85036*0*2355*0+22500*5762*0+0+0*36119*0+0+0+0*0+0*0*0*0*0*0*31365+0++... Итоговая последовательность: *0+50336*0+0*0+0*0+0+0*29085+0*0*0*0+63869+0+0*0*81485+0*59769*0*11776*0+0+0*0+72158*0+0*0+0+19103*0+0*0*0*0*0+0*64798*0+0+85036*0*2355*0+22500*5762*0+0+0*36119*0+0+0+0*0+0*0*0*0*0*0*31365+0+ Это задание можно еще решить таким образом: Код import re with open("ege_24.txt") as f: input_text = f.read() x = re.split(r'[\+\*]{2,}', input_text) result = len(max(x, key=len)) + 2 print(result) Python import re with open("ege_24.txt") as f: input_text = f.read() x = re.split(r'[\+\*]{2,}', input_text) result = len(max(x, key=len)) + 2 print(result)
Соболезную всем, кто пишет ЕГЭ в 2025, ребятки на 100б не расчитывайте) Используй метод двух указателей в 24 задачах. Он эффективен и в нем очень тяжело ошибиться (если ты конечно его ботаешь)