# 工程预算计算程序方案 ## ✅ 核心思路 用Python实现一个简单的命令行工具,通过结构化输入各项成本参数后自动汇总总预算。支持多级分类(人工/材料/设备等)和税费计算。 --- ## 📋 代码示例 python class BudgetCalculator: def __init__(self): self.categories = { "人工费用": {}, # 按工种细分 "建筑材料": {}, # 例:水泥、钢筋等 "机械设备": [], # 租赁或购买清单 "其他杂项": [] # 运输费、管理费等 } self.tax_rate = 0.09 # 默认增值税率9% def add_item(self, category, name, price, quantity=1): """添加单项支出""" if category in ["人工费用", "建筑材料"]: key = f"{name}_{quantity}" self.categories[category][key] = price * quantity elif category == "机械设备": self.categories[category].append({"名称": name, "单价": price, "数量": quantity}) else: self.categories[category].append({"项目": name, "金额": price * quantity}) def calculate_subtotal(self): """计算各分类小计""" subtotals = {} for cat in self.categories: items = self.categories[cat] if isinstance(items, dict): subtotals[cat] = sum(items.values()) elif isinstance(items, list): subtotals[cat] = sum(item["金额"] for item in items) return subtotals def generate_report(self): """生成完整报表""" subtotals = self.calculate_subtotal() raw_total = sum(subtotals.values()) tax = raw_total * self.tax_rate grand_total = raw_total + tax print("\n📝 工程预算明细:") for cat, amt in subtotals.items(): print(f"• {cat}: ¥{amt:.2f}") print(f"➕ 不含税合计: ¥{raw_total:.2f}") print(f"💰 增值税({self.tax_rate*100}%): ¥{tax:.2f}") print(f"⏳ 含税总预算: ¥{grand_total:.2f}") # ------------------- 使用演示 ------------------- if __name__ == "__main__": bc = BudgetCalculator() # 添加典型工程项目数据 bc.add_item("人工费用", "电工", 300, 5) # 5人团队共1500元 bc.add_item("建筑材料", "螺纹钢", 4500, 10) # 每吨4500元×10吨 bc.add_item("机械设备", "挖掘机", 8000, 1) # 租用一台挖掘机8000元 bc.add_item("其他杂项", "运输费", 2000) # 固定金额项目 bc.generate_report() --- ## 📌 功能特点 1️⃣ **模块化设计**:可自由增减成本类别 2️⃣ **灵活录入**:同时支持单价×数量模式和直接录总额 3️⃣ **智能计税**:自动按设定税率计算增值税 4️⃣ **清晰报表**:分级展示原始数据与最终结果 --- ## 💡 扩展建议 - 增加CSV导入导出功能方便批量处理 - 添加历史版本对比功能追踪预算变更 - 集成数据库实现长期项目跟踪 - 开发GUI界面提升易用性 这个实现既保证基础功能的完整性,又预留了充分的扩展空间。实际使用时可以根据具体需求调整税率参数或增删成本类别~