''' ****** Задание 19 из 20 ********* * В ОПН нет скобок и приоритета операций — всё вычисляется строго слева направо, с помощью стека. Вы добавляете числа в стек, а когда встречаете оператор (+, -, *) — извлекаете два последних числа, применяете операцию и возвращаете результат обратно в стек. Напишите программу, которая по введённому выражению в ОПН вычисляет результат. Формат ввода Вводится одна строка, содержащая разделённые пробелами целые числа и знаки операций +, -, *, которые вместе составляют корректное выражение в обратной польской нотации. Формат вывода Выводится одно целое число — результат вычисления выражения. Подсказка Рассмотрим первый пример: 7 2 3 * - читается так: 7 помещается в стек 2 помещается в стек 3 помещается в стек 2 и 3 извлекаются из стека и над ними производится операция умножения, а результат 6 помещается в стек 7 и 6 извлекаются из стека и над ними производится операция вычитания, а результат 1 помещается в стек В конце выполнения в стеке остаётся ровно одно число — это и есть результат. Пример 1 Ввод 7 2 3 * - Вывод 1 ''' if __name__ == "__main__": data = list(input().split()) result = [int(data[0])] for i in data[1:]: if i.isdigit(): result.append(int(i)) else: a = result.pop() exec("result[-1] " + i + "= a") print(result[0])