# 实现带括号的复杂加减乘除优先级运算
# 主要运用到了正则表达式、while循环、列表的几种方法等。
# 为实现要求的运算功能该代码共分为两个部分,一个是实现不带括号的加减乘除运算的函数add_sub_mul_div
# 另外一个是一个循环加6行代码来不断去掉最内层括号并完成括号内表达式,该部分将不断调用函数add_sub_mul_div
# 实例 a = ‘1-2*(3+4/((5-6*7)+8)*9/10-(11+12)*13*14/15/(16-17)/18/19)*20‘
# 运算结果 a = -146.67385897694427
# 初学python代码可能繁杂...会虚心接受建议并不断学习!ps:上午用了四个小时写加减乘除并不断实例验证...
# 下午两个小时来写去括号的功能并调用加减乘除验证实例,每次写完以为对了运行却出现了各种错误...
# 如正则负整数的处理,以及开始写函数时乘除运算从左向右没有考虑到...等等
# 代码正文:
import re
a = ‘1-2*(3+4/((5-6*7)+8)*9/10-(11+12)*13*14/15/(16-17)/18/19)*20‘
b = re.findall(‘([\d\.]+|-[\d\.]+|\+|/|\*|-|\(|\))‘, a) # 将字符串中的正数、负数、加减乘除运算符分别单个的在列表中显示
# 由于直接复制过来不带格式太乱了,就直接截图粘贴了。