Python 作为入门友好的编程语言,核心优势在于简洁实用。本文将通过 “个人收支记账工具” 案例,带大家掌握变量、输入输出、条件判断、循环及字典存储等基础知识点,最终实现一款能记录、查询收支的实用小工具。
一、案例需求
- 支持记录收支类型(收入 / 支出)、金额、备注及日期
- 支持查询所有收支记录
- 支持统计总收支余额
- 提供退出功能,流程简洁易操作
二、完整代码
# 初始化收支记录存储字典
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之间的编号")
三、核心知识点解析
- 变量与数据结构:用列表
records存储多条收支记录,每条记录用字典表示,键值对对应 “类型、金额、备注、日期”,便于数据存取。 - 输入输出:通过
input()获取用户操作和记录信息,用print()展示菜单、记录和统计结果,提升交互体验。 - 条件判断:用
if-elif-else判断用户功能选择、收支类型合法性,处理无效输入,确保程序健壮性。 - 循环结构:
while True实现菜单循环展示,用户可多次操作;for循环遍历列表,实现记录查询和余额统计。 - 异常处理:用
try-except捕获金额输入的非数字异常,避免程序崩溃,提升容错性。 - 字符串与数值处理:金额转换为
float类型便于计算,最终用:.2f格式化输出,保留两位小数,符合金额显示习惯。
四、运行效果演示
-
- 启动程序后,将显示功能菜单,输入 “1” 可记录收支:
plaintext
===== 个人收支记账工具 =====
1. 记录收支
2. 查询所有记录
3. 统计总余额
4. 退出
请输入功能编号(1-4):1
请输入收支类型(收入/支出):收入
请输入金额(元):5000
请输入备注(如工资、餐饮):6月工资
请输入日期(格式:YYYY-MM-DD):2024-06-10
记录成功!
-
- 输入 “2” 可查询所有记录,输入 “3” 可统计总余额,输入 “4” 退出程序。
通过这个案例,既能巩固 Python 基础语法,又能体会 “学以致用” 的乐趣。初学者可在此基础上逐步扩展功能,加深对 Python 编程的理解和运用。