Выбросьте принты, используйте Debugger!
Azamat Komaev
Вы решаете сложную задачу на алгоритмы, пишите аналог VK, сидите на олимпиаде и ничего не понимаете (жиза) - в любом случае вам, скорее всего, нужен Debugger.
Зачем? Стоит смириться с тем, что баги в коде будут возникать всегда. При этом важно их быстро и правильно находить и решать. Чаще всего для этого используют print-ы - функции для вывода содержимого переменной в терминал.
У такого подхода есть множество проблем. Если у вас много разных переменных, то вам необходимо проставить принты, при этом сделав так, чтобы это всё понятно отобразилось в терминале.
Именно поэтому вы должны начать использовать Дебаггер! Зачем и как? Читайте дальше. Сразу оговорюсь, что буду использовать Debugger в Pycharm.
Итак, начнём наше прекрасное путешествие в мир дебага и отладки! Я ботаю ЕГЭ по информатике, поэтому как раз возьмем задачу оттуда:
https://inf-ege.sdamgia.ru/problem?id=45258
Способов решить эту задачу может быть множество, но главной целью, по-моему мнению, является правильный перебор символов строки. Кому-то легче взять черновик и визуализировать работу for цикла на бумаге:

Мне же удобнее накидать хоть какой-нибудь цикл, а затем "мучить" его до тех пор, пока он не выдаст нужный вариант. И тут как раз приходит на помощь дебаггер...
Исходя из писульки выше, мы должны перебирать по два соседних символа, пока не дойдем до нужной пары. Как только мы дошли до пары, то перебирать должны уже не каждый символ, а пары. Когда пара станет равной не AB или CB, то необходимо перебирать символы как в самом начале.
Сложно? Скажу честно, что сначала я написал код, а затем только накидал для него визуализацию в kleki.com.
Код:
line = open('25.txt').readline()
result = [""]
continue_next = False
for i in range(len(line) - 1):
if continue_next:
continue_next = False
continue
l1 = line[i]
l2 = line[i + 1]
if l1 + l2 in ("AB", "CB"):
result[-1] += l1+l2
continue_next = True
else:
result.append("")
print(max(map(len, result)))
Перебирать будем не всю строку из решуегэ, а её некоторую часть (на визуализации).
Для запуска Debugger в Pycharm необходимо нажать на значок жука справа от кнопки запуска:

Но если вы попробуете это сделать, то ничего не выйдет: код отработает как обычно.
Чтобы дебаг работал как положено, необходимо проставить Breakpoint-ы - точки остановки:

Запустим дебаггер и увидим, что теперь он будет останавливаться там, где проставлены красные точки. Продолжить выполнение скрипта можно нажав на зелёную кнопку.
Прямо в окне с кодом вы сможете смотреть актуальные значения переменных (1), синим обозначается строка, на которой находится дебагггер (2). В нижнем окне вы можете увидеть значения всех используемых переменных (3):

Продолжим работу скрипта до новой итерации цикла (i=1). Теперь берутся первый (отсчёт с нуля!)и второй элементы, при этом список result пуст:

Продолжим работу дебаггера до i=6. По окончании итерации, в result добавится строка AB:

Заметим, что continue_next станет равным True. Поэтому следующая итерация будет справедливо пропущена:

Посмотрим чему будут равнятся l1 и l2 в i=8-ой итерации:

Следующая пара символов равна "CB", поэтому добавляется в конец последнего элемента result. Таким образом, пара элементов будет добавлятся в строку до тех пор, пока последующая пара равна "AB" или "CB". В случае если пара не равно этим двум значениям, то в конец списка result добавляется пустой список:

В 21 итерации добавится пустая строка после заполненной:

Таким образом, я показал как использовать дебаггер на практике. Если вы никогда его не использовали, то вам стоит один раз попробовать и вы никогда больше не захотите вернуться к принтам!