正则与计算器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了正则与计算器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1924字,纯文字阅读大概需要3分钟。
内容图文
![正则与计算器](/upload/InfoBanner/zyjiaocheng/1087/d35148439d6c4006a27ed01ca2126788.jpg)
import re def repeat_func(s): # 去掉重复的+——号 repeat = re.findall(‘\+\-|\-\-|\++\-\+‘, s) if len(repeat) > 0: for i in repeat: if i == ‘--‘or i == ‘++‘: s = s.replace(i, ‘+‘) if i == ‘+-‘or s == ‘-+‘: s = s.replace(i, ‘-‘) return s def mul_devid(content): # 计算乘除 pattern1 = ‘-?\d+\.?\d*(?:\*|\/)-?\d+\.?\d*‘while 1: first = re.search(pattern1, content) #匹配乘除if first: if‘*‘in first.group(): new1 = first.group().split(‘*‘) new = float(new1[0]) * float(new1[1]) new = str(new) else: new1 = first.group().split(‘/‘) new = float(new1[0]) / float(new1[1]) new = str(new) res=re.search(r‘-\d+\.?\d*(?:\*|\/)-\d+\.?\d*‘,content) #如果两个负数相乘或相除,添加正号if res : new=‘+‘ + new content = repeat_func(content) content = content.replace(first.group(), new) else: breakreturn content def add_minus(content): # 计算加减 pattern2 = ‘-?\d+\.?\d*(?:\+|\-)\d+\.?\d*‘while 1: first = re.search(pattern2, content) if first: #根据不同的模式分别计算 choice1 = re.search(‘(-\d+\.?\d*-\d+\.?\d*)‘, first.group()) if choice1: new1 = first.group().split(‘-‘) new = -(float(new1[1]) + float(new1[2])) choice2 = re.search(‘(-\d+\.?\d*\+\d+\.?\d*)|(\d+\.?\d*\+\d+\.?\d*)‘, first.group()) if choice2: new1 = first.group().split(‘+‘) new = float(new1[1]) + float(new1[0]) choice3 = re.search(‘\d+\.?\d*-\d+\.?\d*‘, first.group()) if choice3: new1 = first.group().split(‘-‘) new = float(new1[0]) - float(new1[1]) # # content=repeat_func(content) content = content.replace(first.group(), str(new)) else: breakreturn content def calculate(content): content = mul_devid(content) content = add_minus(content) return content def bracket(s): while 1: first = re.search(r‘\([^()]+\)‘, s) if first: new=calculate(first.group()) s=s.replace(first.group(),new[1:-1]) s=repeat_func(s) else: break end=calculate(s) return end s=‘1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))‘print(eval(s)) print(bracket(s))
原文:http://www.cnblogs.com/mona524/p/7096193.html
内容总结
以上是互联网集市为您收集整理的正则与计算器全部内容,希望文章能够帮你解决正则与计算器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。