Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Stack:
- def __init__(self):
- self.list = []
- def push(self,n):
- self.list = [n] + self.list
- def pop(self):
- return self.list.pop(0)
- def isOp(string):
- list = ["+","-","/","*","^"]
- for x in list:
- if x==string: return True
- return False
- def RPN(num):
- nums = Stack()
- ops = Stack()
- answer = ""
- for a in num:
- if isOp(a):
- ops.push(a)
- elif a == ')':
- answer = nums.pop()
- answer = nums.pop() + answer + ops.pop()
- nums.push(answer)
- elif a !='(':
- nums.push(a)
- return nums.pop()
- def main():
- x = input()
- print(RPN(x))
- if __name__=='__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement