Python仿 LISP 运算

B站影视 港台电影 2025-03-19 17:16 1

摘要:def evaluate_expression(expression):# 移除最外层的括号expression = expression.stripif expression[0] == '(' and expression[-1] == ')':expre

def evaluate_expression(expression):# 移除最外层的括号expression = expression.stripif expression[0] == '(' and expression[-1] == ')':expression = expression[1:-1]# 分割操作符和参数parts = expression.splitop = parts[0]args = parts[1:]# 递归计算参数def eval_arg(arg):if arg[0] == '(':return evaluate_expression(arg)else:return int(arg)# 计算两个参数的值arg1 = eval_arg(args[0])arg2 = eval_arg(args[1])# 根据操作符计算结果if op == 'add':return arg1 + arg2elif op == 'sub':return arg1 - arg2elif op == 'mul':return arg1 * arg2elif op == 'div':return arg1 // arg2else:raise ValueError("Unknown operator: " + op)# 读取输入expression = input.strip# 计算并输出结果print(evaluate_expression(expression))

来源:杰邦教育

相关推荐