python计算器实验报告_Python实验-计算器

从字符串中提取 Token 的步骤是顺序读取字符,判断字符类型,然后把 Token 的类型和值存入 Token 列表。

输入字符串处理

提取offset位置处的一个字符

如果没有后续字符则返回None

取字符的位置向后移动一位

定义字符节点

整数类型的Token

从字符串中读取字符直到字符不是整数

如果读取的内容不为空则返回整数,否则返回None

操作(+,-)类型的Token

读取一个字符,然后返回这个字符,如果字符不是+-,则返回None

从 Token 列表中顺序读取 Token,根据 Token 的类型生成表达式树,表达式树的叶子节点为整数,其余节点为操作符。

从 Token 列表生成表达式二叉树

取出 tokens[0],该 Token 类型为整数

从第二个 Token 开始循环取出

相邻两个 Token 的类型一样则为错误

如果 Token 为操作符,则保存为操作符节点,把前一个整数 Token 作为左子节点

如果 Token 为整数,则将该 Token 保存为右节点

获取输入字符串

从输入字符串获得Token列表

从Token列表生成表达式树

遍历计算表达式树并输出结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值