Python 基础实战案例:简易个人收支记账工具

93 阅读3分钟

Python 作为入门友好的编程语言,核心优势在于简洁实用。本文将通过 “个人收支记账工具” 案例,带大家掌握变量、输入输出、条件判断、循环及字典存储等基础知识点,最终实现一款能记录、查询收支的实用小工具。

一、案例需求

  1. 支持记录收支类型(收入 / 支出)、金额、备注及日期
  2. 支持查询所有收支记录
  3. 支持统计总收支余额
  4. 提供退出功能,流程简洁易操作

二、完整代码

# 初始化收支记录存储字典
records = []
# 循环展示功能菜单
while True:
    # 打印功能选项
    print("\n===== 个人收支记账工具 =====")
    print("1. 记录收支")
    print("2. 查询所有记录")
    print("3. 统计总余额")
    print("4. 退出")
    # 获取用户选择
    choice = input("请输入功能编号(1-4):")
    
    # 功能1:记录收支
    if choice == "1":
        type_ = input("请输入收支类型(收入/支出):")
        # 验证收支类型输入合法性
        if type_ not in ["收入", "支出"]:
            print("输入错误!仅支持'收入'或'支出'")
            continue
        # 捕获金额输入异常(避免非数字输入)
        try:
            amount = float(input("请输入金额(元):"))
        except ValueError:
            print("金额必须是数字!")
            continue
        remark = input("请输入备注(如工资、餐饮):")
        date = input("请输入日期(格式:YYYY-MM-DD):")
        # 将记录添加到列表
        records.append({
            "类型": type_,
            "金额": amount,
            "备注": remark,
            "日期": date
        })
        print("记录成功!")
    
    # 功能2:查询所有记录
    elif choice == "2":
        if not records:
            print("暂无收支记录!")
            continue
        print("\n===== 收支记录列表 =====")
        # 遍历打印所有记录
        for i, record in enumerate(records, 1):
            print(f"[{i}] 日期:{record['日期']} | 类型:{record['类型']} | 金额:{record['金额']}元 | 备注:{record['备注']}")
    
    # 功能3:统计总余额
    elif choice == "3":
        total = 0.0
        # 计算总余额(收入加、支出减)
        for record in records:
            if record["类型"] == "收入":
                total += record["金额"]
            else:
                total -= record["金额"]
        print(f"\n当前总余额:{total:.2f}元")
    
    # 功能4:退出程序
    elif choice == "4":
        print("感谢使用,再见!")
        break
    
    # 无效输入处理
    else:
        print("输入错误!请选择1-4之间的编号")

三、核心知识点解析

  1. 变量与数据结构:用列表records存储多条收支记录,每条记录用字典表示,键值对对应 “类型、金额、备注、日期”,便于数据存取。
  2. 输入输出:通过input()获取用户操作和记录信息,用print()展示菜单、记录和统计结果,提升交互体验。
  3. 条件判断:用if-elif-else判断用户功能选择、收支类型合法性,处理无效输入,确保程序健壮性。
  4. 循环结构while True实现菜单循环展示,用户可多次操作;for循环遍历列表,实现记录查询和余额统计。
  5. 异常处理:用try-except捕获金额输入的非数字异常,避免程序崩溃,提升容错性。
  6. 字符串与数值处理:金额转换为float类型便于计算,最终用:.2f格式化输出,保留两位小数,符合金额显示习惯。

四、运行效果演示

    1. 启动程序后,将显示功能菜单,输入 “1” 可记录收支:

plaintext

===== 个人收支记账工具 =====
1. 记录收支
2. 查询所有记录
3. 统计总余额
4. 退出
请输入功能编号(1-4):1
请输入收支类型(收入/支出):收入
请输入金额(元):5000
请输入备注(如工资、餐饮):6月工资
请输入日期(格式:YYYY-MM-DD):2024-06-10
记录成功!
    1. 输入 “2” 可查询所有记录,输入 “3” 可统计总余额,输入 “4” 退出程序。

通过这个案例,既能巩固 Python 基础语法,又能体会 “学以致用” 的乐趣。初学者可在此基础上逐步扩展功能,加深对 Python 编程的理解和运用。