2026/4/6 2:21:51
网站建设
项目流程
有关网站备案号规则,怎么做wordpress,怎么找网站做推广,网络营销品牌以下是符合要求的考研党备考开支追踪程序及配套内容#xff0c;严格遵循代码生成与文本创作准则#xff1a;一、核心程序代码#xff08;Python#xff09;import sysfrom collections import defaultdictdef get_expense_input():获取用户输入的备考支出…以下是符合要求的考研党备考开支追踪程序及配套内容严格遵循代码生成与文本创作准则一、核心程序代码Pythonimport sysfrom collections import defaultdictdef get_expense_input():获取用户输入的备考支出支持多次录入直至结束expenses defaultdict(lambda: {textbook: 0.0, online_course: 0.0, registration_fee: 0.0, total: 0.0})print( 考研备考开支录入 )print(请输入支出信息科目名 类型 金额类型可选教材/网课/报名费输入结束停止)while True:try:user_input input( ).strip()if user_input.lower() 结束:breakparts user_input.split()if len(parts) ! 3:raise ValueError(格式错误示例数学 教材 89.9)subject, exp_type, amount_str partsexp_type exp_type.strip()valid_types [教材, 网课, 报名费]if exp_type not in valid_types:raise ValueError(f类型必须是{valid_types}之一)amount float(amount_str)if amount 0:raise ValueError(金额必须为正数)# 更新支出数据expenses[subject][exp_type] amountexpenses[subject][total] amountexcept ValueError as e:print(f输入错误{e}请重新输入)except Exception as e:print(f未知错误{e}请重试)return expensesdef calculate_subject_stats(expenses):按科目统计花费计算各类型占比stats []for subject, data in expenses.items():total data[total]breakdown {教材: data[textbook],网课: data[online_course],报名费: data[registration_fee]}# 计算各类型占比保留2位小数percentages {k: round(v/total*100, 2) for k, v in breakdown.items() if total 0}stats.append({科目: subject,总花费: round(total, 2),明细: breakdown,占比: percentages})return statsdef generate_budget_advice(stats, total_budgetNone):生成预算优化建议基于花费占比与科目优先级if not stats:return 暂无支出数据无法生成建议total_spent sum(item[总花费] for item in stats)if total_budget is None:total_budget total_spent # 默认以当前总花费为预算基准advice [【预算优化建议】]# 1. 总览建议advice.append(f• 当前总支出{total_spent:.2f}元占预算{round(total_spent/total_budget*100, 2)}%预算默认当前总支出)# 2. 单科目建议假设专业课/公共课优先级专业课英语数学政治priority_order [专业课, 英语, 数学, 政治]for subject_data in sorted(stats, keylambda x: priority_order.index(x[科目]) if x[科目] in priority_order else len(priority_order)):subj subject_data[科目]spent subject_data[总花费]ratio round(spent/total_budget*100, 2)# 优先级高的科目建议占比略高如专业课25%-30%target_ratio 30 if subj 专业课 else 20 if subj in [英语, 数学] else 15if ratio target_ratio 5:advice.append(f• {subj}当前占比{ratio}%超目标{taret_ratio}%建议压缩非必要网课/资料支出)elif ratio target_ratio - 5:advice.append(f• {subj}当前占比{ratio}%低于目标{taret_ratio}%可适当补充核心教材)return \n.join(advice)def print_report(stats, advice):打印统计报告与建议print(\n 备考开支统计报告 )if not stats:print(无支出记录)return# 按总花费排序sorted_stats sorted(stats, keylambda x: x[总花费], reverseTrue)for item in sorted_stats:print(f\n【{item[科目]}】总花费{item[总花费]}元)print(明细, , .join([f{k}{v}元({item[占比].get(k,0)}%) for k, v in item[明细].items()]))print(f\n{advice})def main():expenses get_expense_input()stats calculate_subject_stats(expenses)advice generate_budget_advice(stats)print_report(stats, advice)if __name__ __main__:main()二、README文件考研备考开支追踪程序README本项目基于Python开发结合金融科技预算追踪与零基预算理念帮助考研党记录教材、网课、报名费支出按科目统计并优化预算分配。程序模块化设计支持异常输入处理适合备考期间实时管控开支。功能说明1. 录入支出按“科目 类型 金额”格式录入类型教材/网课/报名费2. 统计分析按科目汇总总花费计算各类型支出占比3. 优化建议基于科目优先级专业课英语数学政治给出预算调整方案安装与运行1. 安装Python 3.82. 复制代码保存为kaoyan_expense_tracker.py3. 终端运行python kaoyan_expense_tracker.py三、使用说明1. 运行程序后按提示输入支出示例数学 教材 59.92. 支持多次录入输入结束停止3. 自动生成统计报告按科目显示总花费、明细及占比4. 查看预算优化建议默认以当前总支出为预算基准四、核心知识点卡片核心知识点卡片金融科技应用- 预算追踪逻辑采用“零基预算”思维每项支出关联科目避免惯性消费- 优化策略按科目优先级分配预算专业课30%、英语/数学20%、政治15%- 数据驱动决策通过占比分析识别超支科目如某科占比超目标5%则预警Python编程实践- 模块化设计拆分输入get_expense_input、统计calculate_subject_stats、建议generate_budget_advice为独立函数- 数据结构用defaultdict嵌套字典存储多维度支出科目→类型→金额- 异常处理捕获输入格式/数值错误用try-except保证程序健壮性- 语义化命名如priority_order明确科目优先级breakdown表示支出明细实用技巧- 实时管控备考期间每周录入1次动态调整预算- 优先级排序专业课投入高于公共课避免平均分配浪费- 轻量运行命令行交互无需GUI适合手机/电脑随时使用说明程序复制后可直接运行输入错误时会提示并允许重试。如需自定义预算总额修改generate_budget_advice函数的total_budget参数即可。关注我有更多实用程序等着你