【华为OD机试真题 Python】仿LISP运算

前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于OD机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:[email protected];备注:CSDN。

题目描述

LISP语言唯一的语法就是括号要配对。

形如 (OP P1 P2 …),括号内元素由单个空格分割。

其中第一个元素OP为操作符,后续元素均为其参数,参数个数取决于操作符类型

注意:参数 P1, P2 也有可能是另外一个嵌套的 (OP P1 P2 …)

当前OP类型为add/sub/mul/div(全小写),分别代表整数的加减乘除法。

简单起见,所以OP参数个数为2

举例

  • 输入:(mul 3 -7)输出:-21

  • 输入:(add 1 2) 输出:3

  • 输入:(sub (mul 2 4) (div 9 3)) 输出 :5

  • 输入:(div 1 0) 输出:error

输入描述

合法字符串,字符串长度不超过512,用例保证了无语法错误。

输出描述

输出计算结

你可能感兴趣的:(华为OD机试真题详解,华为OD机试真题,Python实现,华为OD,面试,数据结构与算法,python)