1 import sys 2 import re 3 4 def deal_fuhao(calc_list): 5 new_calc_list=[] 6 for index,item in enumerate(calc_list): 7 if item.strip().endswith('*') or item.strip().endswith('/'): 8 new_calc_list.append('%s-%s'%(calc_list[index],calc_list[index+1])) 9 elif ('*'or'/') in item: 10 new_calc_list.append(item) 11 print(new_calc_list) 12 return new_calc_list 13 14 def jianfa(formula): 15 print('运算',formula) 16 print(formula) 17 formula = formula.replace('+-', "-") 18 formula = formula.replace('++', "+") 19 formula = formula.replace('-+', "-") 20 formula = formula.replace('--', "+") 21 22 calc_list=re.split('[+-]',formula) 23 sub_calc_list = re.findall('[+-]', formula) 24 print(calc_list,sub_calc_list) 25 sub_res=None 26 for index,item in enumerate(calc_list): 27 if sub_res: #这不是第一次 28 if sub_calc_list[index-1]=="-": 29 sub_res -= float(item) 30 else: 31 sub_res += float(item) 32 else: 33 sub_res=float(item) #这里其实就是赋值,然后用于上边的计算 34 print('