Example #1
0
                stk._Push(item)

            elif ops.get(item) < ops.get(stk._getLast()):
                for i in range(stk._getLen()):
                    que._Push(stk._Pop())
                stk._Push(item)

            elif ops.get(item) == ops.get(stk._getLast()):
                que._Push(stk._Pop())
                stk._Push(item)

for item in range(stk._getLen()):
    que._Push(stk._Pop())

print('posfijo: ')
que._Print()
res = Stack()

for i in range(que._getLen()):
    item = que._Pop()
    if item.isnumeric():
        res._Push(item)
    elif item in ops:
        b = int(res._Pop())
        a = int(res._Pop())
        if item == '^':
            res._Push(pow(a, b))
        elif item == 'R':
            res._Push(pow(a, 1 / b))
        elif item == '*':
            res._Push(a * b)