Skip to content

简单计算器(Python)

简单约 20 分钟

你将构建什么

一个命令行计算器:用户输入两个数字和运算符(+、-、*、/),程序计算并输出结果。支持连续多次计算,处理除零错误和无效运算符。

学习目标

  • 用函数封装四则运算逻辑
  • 用 if/elif/else 选择运算
  • 用 try/except 处理除零和输入错误
  • 用循环支持连续多次计算

前置要求

  • 了解 Python 函数和条件判断
  • 了解 try/except 异常处理
  • 已完成前两个 Python 项目或具备同等基础

步骤

  1. 1

    定义运算函数

    为加减乘除各定义一个函数。除法函数特殊处理:除数为 0 时抛出 ValueError 或返回错误提示。

    代码
    def add(a, b):
        return a + b
    
    def subtract(a, b):
        return a - b
    
    def multiply(a, b):
        return a * b
    
    def divide(a, b):
        if b == 0:
            raise ValueError("除数不能为 0")
        return a / b

    预期结果

    四个函数定义完成,分别调用可得到运算结果。

  2. 2

    读取用户输入

    用 input 读取两个数字和一个运算符。数字用 float() 转换,运算符保持字符串。

    代码
    a = float(input("请输入第一个数字:"))
    operator = input("请输入运算符 (+ - * /):")
    b = float(input("请输入第二个数字:"))

    预期结果

    程序读取三个输入并转换为对应类型。

  3. 3

    根据运算符调用对应函数

    用 if/elif 判断运算符,调用对应函数。无效运算符给出错误提示。用 try/except 捕获除零错误。

    代码
    try:
        if operator == '+':
            result = add(a, b)
        elif operator == '-':
            result = subtract(a, b)
        elif operator == '*':
            result = multiply(a, b)
        elif operator == '/':
            result = divide(a, b)
        else:
            print(f"错误:不支持的运算符 {operator}")
            exit()
        print(f"结果是:{result}")
    except ValueError as e:
        print(f"错误:{e}")

    预期结果

    输入 5、+、3 输出 8;输入 10、/、0 输出除零错误。

  4. 4

    用循环支持连续计算

    把整个计算流程包进 while True 循环,每次计算后询问是否继续。输入 q 退出。

    代码
    while True:
        try:
            # ... 读取输入并计算 ...
            print(f"结果是:{result}")
        except ValueError as e:
            print(f"错误:{e}")
    
        again = input("是否继续计算?(按 q 退出,其他键继续):")
        if again.lower() == 'q':
            print("感谢使用,再见!")
            break

    预期结果

    计算器可以反复使用,输入 q 退出。

自己动手试试

你学到了什么

你用 Python 实现了一个实用的计算器,综合运用了函数、条件判断、异常处理和循环——这些都是编写健壮 Python 程序的必备技能。

相关资源

相关课程

相关练习

相关工具

相关参考文档

相关错误

相关术语

相关术语

新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。

相关错误

用大白话解释常见错误——什么意思、为什么发生、如何修复。

← 返回主题