主题
小型项目示例:记账程序
在本章中,我们将编写一个简单的记账程序,用户可以记录收入和支出,程序将存储这些数据并允许用户查看历史记录。我们将使用 Python 的文件操作、数据处理以及简单的用户输入输出,来实现一个基本的记账功能。
项目目标
- 用户可以录入收入和支出。
- 程序会将记录保存到文件中。
- 用户可以查看收入和支出的总额。
- 提供简单的菜单供用户操作。
项目结构
account\_book/
│
├── account.py # 主程序,处理记账逻辑
├── data.txt # 存储记录的文件
└── README.md # 项目说明
代码实现
1. 创建 account.py
文件
python
# account.py
import os
# 数据文件路径
DATA_FILE = 'data.txt'
# 保存记录到文件
def save_record(record):
with open(DATA_FILE, 'a') as file:
file.write(record + '\n')
# 显示所有记录
def show_records():
if not os.path.exists(DATA_FILE):
print("没有记账记录。")
return
with open(DATA_FILE, 'r') as file:
records = file.readlines()
if not records:
print("没有记账记录。")
else:
for record in records:
print(record.strip())
# 计算总收入和支出
def calculate_balance():
income = 0
expense = 0
if os.path.exists(DATA_FILE):
with open(DATA_FILE, 'r') as file:
records = file.readlines()
for record in records:
amount = float(record.split()[1])
if record.startswith("收入"):
income += amount
elif record.startswith("支出"):
expense += amount
return income, expense
# 显示菜单
def display_menu():
print("\n--- 记账程序 ---")
print("1. 记录收入")
print("2. 记录支出")
print("3. 查看记录")
print("4. 查看总余额")
print("5. 退出")
choice = input("请选择操作: ")
return choice
# 主程序
def main():
while True:
choice = display_menu()
if choice == '1':
amount = input("请输入收入金额: ")
description = input("请输入收入描述: ")
record = f"收入 {description} {amount}"
save_record(record)
elif choice == '2':
amount = input("请输入支出金额: ")
description = input("请输入支出描述: ")
record = f"支出 {description} {amount}"
save_record(record)
elif choice == '3':
show_records()
elif choice == '4':
income, expense = calculate_balance()
print(f"总收入: {income} 元, 总支出: {expense} 元, 余额: {income - expense} 元")
elif choice == '5':
print("感谢使用记账程序!")
break
else:
print("无效选择,请重新输入。")
if __name__ == '__main__':
main()
2. 数据存储文件 data.txt
这个文件将用于存储用户的记账记录,每一行包含一条收入或支出的记录,例如:
收入 工资 5000
支出 饭钱 50
收入 奖金 1000
支出 购物 200
3. 如何运行
- 将上述代码保存为
account.py
文件。 - 在命令行中运行以下命令:
bash
python account.py
4. 功能说明
记录收入
当用户选择记录收入时,程序会要求输入收入的金额和描述,然后将这条记录保存到文件中。
记录支出
当用户选择记录支出时,程序会要求输入支出的金额和描述,并将记录保存到文件中。
查看所有记录
用户可以选择查看所有的记账记录,程序会从文件中读取记录并显示。
查看总余额
用户可以查看当前的总收入、总支出以及余额,程序会根据历史记录计算出这些信息。
退出程序
用户可以选择退出程序,程序将结束。
项目扩展
本项目是一个简单的记账程序,适合初学者练习。随着项目需求的增加,我们可以考虑以下功能扩展:
- 使用数据库代替文本文件存储记录。
- 增加分类功能,按类别查看收入和支出。
- 提供图形界面(GUI)以提高用户体验。
- 生成月度或年度报表,分析财务状况。
通过这个简单的记账程序,你可以学会如何使用 Python 处理文件操作、用户输入、数据存储和基本的业务逻辑。