028. 编写一个函数,实现简单的计算器功能,支持加减乘除

在 Python 中,可以编写一个简单的计算器函数,支持加、减、乘、除四种基本运算。以下是一个示例代码,展示如何实现这个功能:

示例代码

def simple_calculator():
    """
    简单的计算器函数,支持加、减、乘、除四种运算。
    """
    print("欢迎使用简单计算器!")
    print("支持的操作:加(+)、减(-)、乘(*)、除(/)")

    try:
        # 获取用户输入的第一个数字
        num1 = float(input("请输入第一个数字:"))

        # 获取用户输入的操作符
        operator = input("请输入操作符(+、-、*、/):")

        # 获取用户输入的第二个数字
        num2 = float(input("请输入第二个数字:"))

        # 根据操作符执行相应的运算
        if operator == '+':
            result = num1 + num2
        elif operator == '-':
            result = num1 - num2
        elif operator == '*':
            result = num1 * num2
        elif operator == '/':
            if num2 == 0:
                print("错误:除数不能为零!")
                return
            result = num1 / num2
        else:
            print("无效的操作符!")
            return

        # 打印结果
        print(f"结果:{num1} {operator} {num2} = {result}")

    except ValueError:
        print("输入无效,请输入有效的数字!")
    except Exception as e:
        print(f"发生了一个错误:{e}")

# 调用计算器函数
simple_calculator()

运行示例

假设用户输入如下内容:

请输入第一个数字:10
请输入操作符(+、-、*、/):+
请输入第二个数字:5

运行结果如下:

欢迎使用简单计算器!
支持的操作:加(+)、减(-)、乘(*)、除(/)
结果:10.0 + 5.0 = 15.0

代码解释

函数定义

  • 定义了一个名为 simple_calculator 的函数,用于实现简单的计算器功能。

用户输入

  • 使用 input() 函数获取用户输入的第一个数字、操作符和第二个数字。

  • 使用 float() 将输入的字符串转换为浮点数。

异常处理

  • 使用 try-except 块捕获可能的异常,例如用户输入的不是数字或除数为零的情况。

运算逻辑

  • 根据用户输入的操作符,执行相应的运算:

  • 加法:num1 + num2

  • 减法:num1 - num2

  • 乘法:num1 * num2

  • 除法:num1 / num2,并检查除数是否为零。

打印结果

  • 使用 print() 函数打印运算结果。

扩展:支持多次运算

如果需要支持用户进行多次运算,可以在函数中添加一个循环,直到用户选择退出。以下是改进后的代码:

def simple_calculator():
    """
    简单的计算器函数,支持加、减、乘、除四种运算。
    """
    while True:
        print("\n欢迎使用简单计算器!")
        print("支持的操作:加(+)、减(-)、乘(*)、除(/)")
        print("输入 'q' 退出计算器。")

        # 获取用户输入的第一个数字
        num1 = input("请输入第一个数字:")
        if num1.lower() == 'q':
            print("退出计算器。")
            break

        try:
            num1 = float(num1)
        except ValueError:
            print("输入无效,请输入有效的数字!")
            continue

        # 获取用户输入的操作符
        operator = input("请输入操作符(+、-、*、/):")
        if operator.lower() == 'q':
            print("退出计算器。")
            break

        # 获取用户输入的第二个数字
        num2 = input("请输入第二个数字:")
        if num2.lower() == 'q':
            print("退出计算器。")
            break

        try:
            num2 = float(num2)
        except ValueError:
            print("输入无效,请输入有效的数字!")
            continue

        # 根据操作符执行相应的运算
        if operator == '+':
            result = num1 + num2
        elif operator == '-':
            result = num1 - num2
        elif operator == '*':
            result = num1 * num2
        elif operator == '/':
            if num2 == 0:
                print("错误:除数不能为零!")
                continue
            result = num1 / num2
        else:
            print("无效的操作符!")
            continue

        # 打印结果
        print(f"结果:{num1} {operator} {num2} = {result}")

# 调用计算器函数
simple_calculator()

运行示例

假设用户输入如下内容:

请输入第一个数字:10
请输入操作符(+、-、*、/):+
请输入第二个数字:5
结果:10.0 + 5.0 = 15.0

用户可以选择继续进行新的运算,或者输入 q 退出计算器。

视频讲解

BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)