markdown 计算器
2024-08-24 00:01:19
计算器
分四种运算(加减乘除)、括号、去除最后括号、验证等式是否计算完成
bracket = re.compile(r'\([^()]+\)') # 找括号
multiplys = re.compile(r'(\d+\.?\d*\*-\d+\.?\d*)|(\d+\.?\d*\*\d+\.?\d*)') # 找乘法
divides = re.compile(r'(\d+\.?\d*/-\d+\.?\d*)|(\d+\.?\d*/\d+\.?\d*)') # 找除法
adds = re.compile(r'(-?\d+\.?\d*\+-\d+\.?\d*)|(-?\d+\.?\d*\+\d+\.?\d*)') # 找加法
subtracts = re.compile(r'(-?\d+\.?\d*--\d+\.?\d*)|(-?\d+\.?\d*-\d+\.?\d*)') # 找减法
out_cal = re.compile(r'\(?\+?-?\d+\)?') # 验证等式是否计算完成
out_strip = re.compile(r'[^(].*[^)]') # 去除最后括号
计算顺序:
去空格 --> 替换(--)为(+) --> 除法--> 乘法 --> 减法 --> 加法
beginning = ''.join([i for i in re.split('\s+', beginning)]) # 去除等式中的空格
beginning = beginning.replace('--', '+') # 去除特殊字符
最新文章
- 【极品代码】一般人我不告诉他,手机端h5播放时不自动全屏代码
- OpenSSL 1.0.2e 3 Dec 2015
- .net 配置文件设计工具 Configuration Section Designer
- css实现三角形箭头
- Java中引用类型变量,对象,值类型,值传递,引用传递 区别与定义
- Netty
- NSUserDefaults简介及使用
- Python入门笔记(20):Python函数(3):关于lambda
- 两条直线(蓝桥杯)二分枚举+RMQ
- postgresql info
- ubuntu14.04使用wubi安装出错
- 复杂事件处理引擎—Esper参考(事件部分)
- django最佳实践
- 前端iFrame跨域问题
- Android之Drawable
- MyBatis-Select 流程
- C语言 · 超级玛丽
- Spark资源调度
- 压力测试工具JMeter入门教程<;转>;
- angularjs 路由参数