Python 实现简单加减法运算的逆波兰表达式
逆波兰表达式
逆波兰表达式:遇到运算符(+ or -)则对运算符前面的两个数字进行相应的运算
遇到p则输出前面运算的结果
例如 20 30 + 60 - 70 + p
20 + 30-----50 60 - 70 + p
50 - 60-------------10 70 + p
-10 + 70-------------------60
思路:利用栈的 进栈 和 出栈操作来实现
- 遇到数字进行 进栈 操作
- 遇到运算符进行 出栈 操作:
①依次出栈2次,将两次出栈的元素 进行相应的运算
②将运算的结果再进行进栈操作 - 遇到p进行一次出栈操作,并返回栈元素的值
Pyhon代码实现
- 创建栈类
class Node:
"""
结点类:具体对象为链表中的结点元素
"""
def __init__(self,date,pointer = None) :
self.date = date
self.pointer = pointer
class StackError(Exception):
"""
空栈异常类:
定义了方法:出栈 进栈 查看栈顶元素,是否空栈
"""