python基础-6.2正则表达式,计算器练习
2024-10-07 10:17:31
content = "1-2*((60-30+(1-40/5*5+3-2*5/3)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))"
def func(string):
new_list = re.split("\(([^()]+)\)", string, 1)
if len(new_list) > 1:
new_string = new_list[0] + str(eval(new_list[1])) + new_list[2]
return func(new_string)
else:
return new_list[0] print(eval(func(content))) 1、先分割最小括号,"\(([^()]+)\)"
2、用eval来计算最小括号内容,eval取巧了,可以再次用正则来计算。
3、在拼接成新的字符串
4、递归
5、返回无括号的字符串
最新文章
- 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- caffe初试(一)happynear的caffe-windows版本的配置及遇到的问题
- JavaScript的学习3
- 配置 samba 实现文件共享
- SQL*Loader之CASE7
- 这10道javascript笔试题你都会么
- Windows Azure 云服务角色架构
- asp.net mvc 模型验证-最舒服的验证方式
- HTML5 文件异步上传 — h5uploader.js
- iOS开发网络篇—GET请求和POST请求(转)
- oracle客户端精简绿色版-环境变量配置
- 发送邮件(遵循smtp协议即简单的邮件发送协议)
- RPI-Wireless-Hotspot
- python与编码
- java安全编程
- Zend Framework在windows下的安装
- WinRAR存在严重的安全漏洞影响5亿用户
- android linux 传文件
- [2017-7-26]Android Learning Day4
- Creating adaptive web recommendation system based on user behavior(设计基于用户行为数据的适应性网络推荐系统)
热门文章
- 小程序里的自定义组件:组件的外部样式externalClasses的使用
- ACM/IOI 国家队集训队论文集锦
- 并行操作多个序列map
- java调用存储过程的方式
- 【leetcode】All Paths From Source to Target
- vue-cli3.0以上项目中引入jquery的方法
- Linux内核设计与实现 总结笔记(第十二章)内存管理
- HDU 6230 Palindrome ( Manacher &;&; 树状数组)
- codeforces 819B - Mister B and PR Shifts(思维)
- BZOJ 1029 建筑抢修(贪心堆)