Внутренней вхождение скобок

Здравствуйте. Как мне сделать, так чтобы определялось самое внутренней вхождение скобки. т.е допустим ввожу формулу (Av(B+C)vB), и чтобы сравнивалась скобка (B+C) с моим образом.

S = str(input("Введите формулу"))
f = 0
for i in range(len(S)):
     a=str.find("(",f);

Забыл указать, после сравнения у меня получается, если это формула, то она заменяется определённой буквой, а после опять выполняется цикл, теперь уже со вторыми скобками т.е было (Av(B+C)vB), стало допустим (AvRvB) и уже сравнить данную скобку

Непонятно какая задача.

Ну, в задании написано проверка скобочного итога формулы. С самого внутреннего вхождения скобки, произвести проверку, является ли выражение формулой, если результат положительный провести замену на переменную. Продолжать пока не останется одна переменная

Скорей всего сравнивать введенную строку с шаблоном, и далее уже производить необходимые действия в случае соответствия шаблону.

Так и не понял ничего, что это значит?

там какой-то список замен дается?

Нет, на любую переменную, т.е даёт форумал (A^(B/C)^B) находим самую внутреннюю скобку и проверяем является она формулой или нет (B/C) допустим является, и это формула заменяется на любую переменную, абсолютно любую, допустим R, у нас остаётся (A^R^B) теперь опять проводим тоже цикл с этой скобкой, является ли она формулой, допустим опят таки является, значит заменяем на R и всё в ответе у нас получится R, скобок может быть сколько угодно, нужно начинать с самой внутренний и двигаться можно сказать назад.И вот как раз не пойму как мне начинать работу как раз стаки с самой внутренней скобки, как то надо это через цикл

Чот какое-то нестандартное задание про скобки )
Обычно или баланс или про обратную польскую запись.

Не знаю можно ли тут сделать как-то более красиво со стеком и т.п., но наверно можно например проходить строку в цикле (каждый символ) и искать такую открывающую скобку, после которой следующая скобка закрывающая.

Это моё следующие задание )

Однозначно строку посимвольно перебирать в цикле, и производить поиск по шаблону или скобки считать и отделять подстроку до первого закрывающего смайлика )

Рекурсивно можно например. Если скобка открылась то передавать на следующий уровень подстроку.

Поднимаю тему. Я написал вот такой код, кр у меня он работает, но это делает один раз т.е я ввожу допустим (Av(B^C)vB) он меняет на (AvRvB) и всё, типа он должен теперь данную скобку проверить и поменять её на R. Я пытался засунуть туда While, но у меня либо зацикливание, либо вообще он не работает. Помогите пожалуйста допилить).

def test(S):
    for i in range(len(S)):
        if S[i] == '^' or S[i] == "+" or S[i] == "/" or S[i] == "|" or S[i] == 'v':
            return True


S = str(input("Введите строку"))
flag = True
for i in range(len(S)):
    if S[i] == '(':
        a = i 
        flag = False
        print("Позиция левой скобки = ", i)
    elif S[i] == ')':
        print("Позиция правой скобки =", i)
        flag = False
        b = i 
        news = S[a+1:b]
        print("Фрагмент = ", news)
        if test(news):
            S = S[:a] + 'R' + S[b+1:]
            print("Фрагмент после удаления = ", S)
        else:
            print("Данный фрагмент не является формулой");
        break;
            

Так этот цикл надо повторять внутри другого цикла пока есть скобки.

Фух… я справился, наконец-то )