新手求助:如何完善Python简易家庭预算计算器代码?
简易预算计算器问题修复方案
原代码存在的问题
append方法使用错误:list.append()仅接受单个参数,你传入多个参数会直接报错,需要把收支信息封装成字典/元组存入列表。overview函数未实现核心逻辑:缺少筛选指定年月、按分类汇总金额的代码。
修正后的完整代码
budget = [] def add_element(day, month, year, money, category): # 将收支项封装为字典,字段清晰便于后续读取 budget.append({ "day": day, "month": month, "year": year, "money": money, "category": category }) def overview(target_month, target_year): summary = {} # 遍历所有收支记录 for item in budget: # 匹配目标年月的记录 if item["month"] == target_month and item["year"] == target_year: cat = item["category"] amount = item["money"] # 分类累加金额 if cat in summary: summary[cat] += amount else: summary[cat] = amount return summary # 测试数据 add_element(15,10,2022,150,"food") add_element(16,11,2022,250,"food") add_element(17,11,2022,300,"living") add_element(18,11,2022,500,"food") add_element(19,11,2022,150,"household") # 输出结果:{'food': 750, 'living': 300, 'household': 150} print(overview(11,2022))
关键说明
- 使用字典存储单个收支项,能明确对应每个字段的含义,比元组更易维护。
overview函数中通过遍历+条件判断筛选目标年月的记录,再通过字典的键值对特性完成分类汇总。
内容的提问来源于stack exchange,提问作者Jimmy
相关产品推荐
相关产品推荐

