You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求助:如何完善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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:00:46