PYTHON ОБРАТНАЯ ПОЛЬСКАЯ ЗАПИСЬ

Обратная польская запись - это форма записи математических выражений, в которой операторы располагаются после соответствующих операндов. В языке программирования Python такая запись позволяет упростить вычисление сложных выражений.

Для того чтобы преобразовать инфиксную форму (обычное математическое выражение) в обратную польскую запись, можно использовать стек. Например, следующий код демонстрирует, как перевести выражение 2 * (3 + 4) в обратную польскую запись:

expression = "2 * (3 + 4)"
stack = []
output = []

for token in expression:
    if token.isdigit():
        output.append(token)
    elif token in ["+", "-", "*", "/"]:
        while stack and stack[-1] in ["*", "/"]: # проверяем приоритет оператора
            output.append(stack.pop())
        stack.append(token)
    elif token == "(":
        stack.append(token)
    elif token == ")":
        while stack and stack[-1] != "(":
            output.append(stack.pop())
        stack.pop()

while stack:
    output.append(stack.pop())

print(' '.join(output))

В результате выполнения этого кода будет выведено выражение в обратной польской записи: 2 3 4 + *

Сделать обратную польскую запись на С++ Д328

Программируем калькулятор со скобками и приоритетами действий, используя стек

Обратная польская запись

Что такое обратная польская нотация и как написать специфичный калькулятор? — Задачи с собеседований

Алгоритмы на Python 3. Лекция №13

A.1.1+ Прямая и обратная польская нотация

BLGPG-8F1B9D236ED1-24-09-19-20

Новые материалы: