import re
import functools
def minus_operator_handler(formula): # 减运算符处理程序
# '''处理一些特殊的减号运算'''
minus_operators = re.split("-", formula)
calc_list = re.findall("[0-9]", formula)
if minus_operators[0] == '': # 第一值肯定是负号
calc_list[0] = '-%s' % calc_list[0]
res = functools.reduce(lambda x, y: float(x) - float(y), calc_list)
print("\033[33;1m减号[%s]处理结果:\033[0m" % formula, res)
return res
def remove_duplicates(formula): # 删除重复项
formula = formula.replace("++","+")
formula = formula.replace("+-","-")
formula = formula.replace("-+","-")
formula = formula.replace("--","+")
formula = formula.replace("- -","+")
return formula
def compute_mutiply_and_dividend(formula): # 计算乘法和除法
# '''算乘除,传进来的是字
利用python实现具有解析加减乘除括号优先级的计算器
最新推荐文章于 2024-01-16 23:00:00 发布