亲爱的小伙伴们,今天学姐要和大家分享一个超实用的Python小项目。作为一个常常忘记自己花了多少钱的迷糊蛋,我决定用Python写一个简单的记账本,帮助自己管理零花钱。这个小项目不仅能让我们学习Python的基础知识,还能培养理财意识,可以说是一举两得呢!
首先,我们需要用到Python的一些基础知识,包括字典、列表、函数和文件操作哦。别担心,我会用最简单的方式讲解每个知识点的~
我们的记账本要实现以下功能:
- 记录收支情况
- 查看所有记录
- 统计支出收入
- 保存到文件
让我们一步一步来实现吧~
首先创建基本的数据结构和函数:
from datetime import datetime
import json
class AccountBook:
def init(self):
self.records = []
self.filename = "my_account.json"
try:
with open(self.filename, 'r', encoding='utf-8') as f:
self.records = json.load(f)
except FileNotFoundError:
self.records = []
def add_record(self, amount, category, note=""):
"""添加一条收支记录"""
record = {
"date": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
"amount": amount, # 正数表示收入,负数表示支出
"category": category,
"note": note
}
self.records.append(record)
self.save_to_file()
def view_records(self):
"""查看所有记录"""
if not self.records:
return "还没有任何记录呢~"
result = "===== 收支记录 =====\n"
for record in self.records:
amount = record["amount"]
type_str = "收入" if amount > 0 else "支出"
result += f"{record['date']} {type_str}: {abs(amount)}元 " \
f"类别: {record['category']} " \
f"备注: {record['note']}\n"
return result
def get_summary(self):
"""统计总收支情况"""
income = sum(r["amount"] for r in self.records if r["amount"] > 0)
expense = sum(r["amount"] for r in self.records if r["amount"] < 0)
return f"总收入: {income}元\n总支出: {abs(expense)}元\n结余: {income + expense}元"
def save_to_file(self):
"""保存记录到文件"""
with open(self.filename, 'w', encoding='utf-8') as f:
json.dump(self.records, f, ensure_ascii=False, indent=2)</code></pre>
使用示例:
# 创建记账本
my_account = AccountBook()
# 记录一些收支
my_account.add_record(100, "打工", "周末兼职")
my_account.add_record(-30, "食物", "买了奶茶和蛋糕")
my_account.add_record(-50, "购物", "买了文具")
my_account.add_record(200, "压岁钱", "新年收到的红包")
# 查看记录
print(my_account.view_records())
# 查看统计
print(my_account.get_summary())
- 在记录支出时,记得在金额前加上负号哦~
- 每次添加记录后,数据都会自动保存到文件中,下次打开程序时会自动加载~
- 建议给每笔记录都加上简单的备注,这样回头查看时更清楚呢!
想要让记账本更强大吗?试试以下的改进方向:
- 添加按月份统计的功能
- 增加删除和修改记录的功能
- 添加按类别筛选记录的功能
- 做一个简单的消费分析图表
- 文件路径问题:确保程序有权限读写文件的位置
- 中文显示问题:记得设置正确的编码格式
- 数据格式问题:输入金额时要确保是数字类型
小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问我哦。祝大家学习愉快,Python学习节节高!
对了,如果想要更好地管理自己的零花钱,快来试试我们今天学的记账本吧!记得要养成记账的好习惯呢(๑•̀ㅂ•́)و✧
转载请注明来自湖南百里醇油茶科技发展有限公司,本文标题:《学姐分享,用Python打造小巧记账本,零花钱管理不再难》
还没有评论,来说两句吧...