实验报告
2015/11/18
步骤:
1、将输入的string放入buffer中;
2、将buffer中的字符按数字与符号以元组("int",'56')/("operator",'+)形式,依次存入tokens列表中,同时检查输入表达式的规范性,确保 "4+3-56"形式:
规范:①可以以+-开头,但需在tokens中填充("int",'0');
②不能连续输入两个符号,报错;
③若以+-结尾,则在tokens末尾填充("int",'0');
④空输入填充("int",'0');
3、在tokens中构造表达式二叉树tree
4、递归调用calculate(tree)函数计算表达式结果。
代码如下:
#! usr/bin/python
-- coding: utf-8 --
'''This calculator can noly calculate +/- integers'''
接收和处理输入的算式
class Buffer :
def init(self, data = "0"):
print("data=%s\n"%data)
self.data = data
self.offset = 0
#提取offset位