自己动手写计算器
一、功能分析
用户输入一个类似这样 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里面除了包含空格、‘+‘、‘-‘、‘*‘、‘/‘和括号再无其他特殊符号,然后直接动手写代码解析其中的表达式,实现加减乘除,最后得出的结果与真实的计算机所算的结果必须一致。
二、所需的知识点
- 字符串的处理
- 正则表达式的运用
- 函数递归
三、程序实现流程分析
- 处理用户输入的字符串,去除多余的空格
- 用正则表达式处理字符串,提取其中的数字和运算符,并转换成列表
- 编写一个函数,处理没有括号的基本运算的基本表达式
- 再写一个函数递归处理带有括号的函数,先计算最内部括号中的表达式, 然后将最内部的括号替换为计算后的结果, 在递归外部一层的, 最后返回的就是所需的结果
四、具体实现过程
1.处理用户输入
处理用户的输入比较简单,这里我们仅仅需要去除多余的空格,实现代码如下:
时间: 2024-12-11 16:44:36