一起学数据网,数据分析师的学习成长社群!

登录 |  注册  

自己动手写计算器

一、功能分析

  用户输入一个类似这样 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里面除了包含空格、'+'、'-'、'*'、'/'和括号再无其他特殊符号,然后自己动手写代码解析其中的表达式,实现加减乘除最后得出的结果与真实的计算机所算的结果必须一致。

二、所需的知识点

  • 字符串的处理

  • 正则表达式的运用

  • 函数递归

三、程序实现流程分析

  1. 用正则表达式处理字符串,只提取其中的数字和运算符,并转换成列表

  2. 编写一个函数,处理没有括号的基本运算的基本表达式

  3. 再写一个函数递归处理带有括号的函数,先计算最内部括号中的表达式, 然后将最内部的括号替换为计算后的结果, 在递归外部一层的, 最后返回的就是所需的结果






X
马上和老师聊聊
解答你的职业发展问题
马上咨询老师
或扫码加老师微信咨询

加一起学数据网老师微信

一起学数据网(www.17xueshuju.com),是上海最瑞信息科技有限公司打造的,数据分析师的学习成长社群;致力于为数据分析师,提供优质学习资讯、线上公开课、线下沙龙、学习社群与教学服务。

反馈意见:mp@zuirui.net
客服电话:021-64295684

关注我们

关注最瑞科技官方微博
数据分析资讯全搜罗

关注最瑞科技微信公众号
每日获取最新学习资料

加入数据分析师学习交流群
不断在这里成长