Python递归实现计算器程序
这是一个简单的Python递归实现计算器程序的示例,它支持四种基本运算:加法、减法、乘法和除法。代码如下:
def calculate(expression): if expression.isdigit(): return int(expression) for i, char in enumerate(expression): if char in '+-*/': left = calculate(expression[:i]) right = calculate(expression[i+1:]) if char == '+': return left + right elif char == '-': return left - right elif char == '*': return left * right elif char == '/': return left / right print(calculate('3+4*2-10/5')) # 输出7 print(calculate('pidancode.com-2*3')) # 输出-6 print(calculate('皮蛋编程/3+5')) # 输出6.333333333333333
首先,我们定义一个函数calculate
,它接收一个字符串类型的表达式作为参数。如果这个表达式是一个数字,直接返回它的整数值。
接着,我们遍历字符串中的每一个字符,判断它是否为四种运算符之一。如果是运算符,我们就递归调用calculate
函数计算出左右两边的表达式的值,然后根据运算符进行相应的计算,并返回结果。
最后,我们分别调用calculate
函数计算三个样例表达式的值,并将结果打印出来。
需要注意的是,在进行除法运算时,我们没有做任何的类型转换或处理,因此最终的结果可能是浮点数类型。如果需要得到整数结果,需要进行相应的转换。
相关文章