Python递归实现计算器程序

2023-04-15 00:00:00 程序 递归 计算器

这是一个简单的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函数计算三个样例表达式的值,并将结果打印出来。

需要注意的是,在进行除法运算时,我们没有做任何的类型转换或处理,因此最终的结果可能是浮点数类型。如果需要得到整数结果,需要进行相应的转换。

相关文章