import re def caculate(s): str_res = re.findall("\([^()]*\)", s) if(len(str_res) != 0): for item in str_res: res_int = eval(item) res = s.replace(item, str(res_int)) return caculate(res) else: return str(eval(s)) print(caculate("1 - 2 * ( (60-30 +(-9-2-5-2*3-5/3-40*4/2-3/5+6*3) * (-9-2-5-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )")) #29938074.5936508 #29938074.5936508
版权声明:本文为lidongkui123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。