使用函数编程实现计算器

84 阅读2分钟

我们将使用Python语言来实现一个简单的计算器。这个计算器将支持加、减、乘、除四种基本运算。

首先,我们需要定义四个函数,分别对应四种基本运算:

def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    if y != 0:
        return x / y
    else:
        return 'Error: Division by zero'

这四个函数都接受两个参数,分别代表要进行运算的两个数。除法函数中,我们需要检查除数是否为零,如果是,就返回一个错误信息。

接下来,我们需要一个函数来根据用户的输入选择正确的运算函数。这个函数接受一个运算符和两个数作为参数:

def calculate(operator, x, y):
    if operator == '+':
        return add(x, y)
    elif operator == '-':
        return subtract(x, y)
    elif operator == '*':
        return multiply(x, y)
    elif operator == '/':
        return divide(x, y)
    else:
        return 'Error: Invalid operator'

这个函数使用if-elif结构来判断运算符,然后调用相应的函数进行运算。如果运算符不是四种基本运算符之一,就返回一个错误信息。

最后,我们需要一个主函数来接受用户的输入,并调用上面的函数进行计算:

def main():
    operator = input('请输入运算符(+ - * /): ')
    x = float(input('请输入第一个数: '))
    y = float(input('请输入第二个数: '))
    result = calculate(operator, x, y)
    print('结果是: ', result)

if __name__ == '__main__':
    main()
​

这个函数首先提示用户输入运算符和两个数,然后调用calculate函数进行计算,并打印出结果。

这就是一个简单的函数式编程计算器。它的优点是结构清晰,易于理解和修改。但是,它也有一些限制,比如只支持两个数的运算,只支持四种基本运算,不支持括号和运算优先级等。如果需要支持这些功能,就需要进行更复杂的编程,比如使用栈或者递归等数据结构和算法。

云服务器推荐

蓝易云国内/海外高防云服务器推荐

蓝易云-五网CN2服务器【点我购买】

蓝易云采用KVM高性能架构,稳定可靠,安全无忧!
蓝易云服务器真实CN2回国线路,不伪造,只做高质量海外服务器。


海外免备案云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。