设计职场情绪压力每日自测记录程序,长期追踪职场情绪变化,给出解压调节方案。 完全去营销化、中立化可直接用于课程作业、个人实验或团队内部工具不涉及引流与商业推广。一、实际应用场景描述真实可落地在职场中很多人长期处于慢性情绪压力状态但缺乏量化手段- 每天感觉“有点累”但说不清是焦虑、倦怠还是人际消耗- 想调整却不知道哪种方式对自己有效- 回顾一个月只记得“最近挺忙”没有结构数据本程序定位为一个轻量级命令行工具CLI✅ 每天 1 分钟完成情绪自测✅ 本地保存数据隐私可控✅ 自动生成趋势与调节建议✅ 适合个人 / 小团队做“职场情绪实验”二、引入痛点从工程视角痛点 技术映射情绪主观难量化 建立结构化评分模型记不住过去状态 本地持久化存储建议泛泛而谈 基于规则的个性化策略工具太重 命令行 文本交互数据不安全 本地 JSON不上云 本质问题不是“情绪管理 App 不够多”而是缺少低成本、可追踪、可实验的工具。三、核心逻辑讲解工程思维1️⃣ 数据采集层- 每日输入 4 个维度1–10 分- 压力- 焦虑- 倦怠- 掌控感2️⃣ 分析层- 计算- 当日综合压力指数- 7 日滚动均值- 判断趋势↑ ↓ →3️⃣ 决策层规则引擎- 根据分数区间匹配解压策略- 避免“鸡汤式建议”偏向行为级4️⃣ 存储层- JSON 文件- 按日期追加便于后期扩展四、代码实现模块化 清晰注释 项目结构mood-tracker/├── main.py├── config.py├── recorder.py├── analyzer.py├── advisor.py├── data/│ └── mood_log.json└── README.md✅ config.py配置项统一常量便于维护DATA_FILE data/mood_log.jsonSCORE_RANGE (1, 10)DIMENSIONS {stress: 压力,anxiety: 焦虑,burnout: 倦怠,control: 掌控感}✅ recorder.pyimport jsonimport osfrom datetime import datefrom config import DATA_FILE, DIMENSIONSdef ensure_data_file():确保数据文件存在if not os.path.exists(DATA_FILE):with open(DATA_FILE, w, encodingutf-8) as f:json.dump([], f, ensure_asciiFalse)def record_mood():收集用户输入并记录当天情绪today str(date.today())print( 今日情绪自测1-10 分)mood {date: today}for key, label in DIMENSIONS.items():while True:try:value int(input(f{label}))if 1 value 10:mood[key] valuebreakelse:print(请输入 1–10 之间的数字)except ValueError:print(请输入数字)ensure_data_file()with open(DATA_FILE, r, encodingutf-8) as f:data json.load(f)data.append(mood)f.seek(0)json.dump(data, f, ensure_asciiFalse, indent2)print(✅ 已记录今日情绪)✅ analyzer.pyimport jsonfrom datetime import datetime, timedeltafrom config import DATA_FILEdef load_data():with open(DATA_FILE, r, encodingutf-8) as f:return json.load(f)def daily_index(entry):简单加权压力指数return (entry[stress] * 0.3 entry[anxiety] * 0.3 entry[burnout] * 0.3 -entry[control] * 0.1)def analyze_recent(days7):分析近 N 天趋势data load_data()cutoff datetime.today() - timedelta(daysdays)recent [d for d in dataif datetime.strptime(d[date], %Y-%m-%d) cutoff]if not recent:return Nonescores [daily_index(d) for d in recent]avg sum(scores) / len(scores)trend → 平稳if len(scores) 2 and scores[-1] scores[0]:trend ↑ 上升elif len(scores) 2 and scores[-1] scores[0]:trend ↓ 下降return round(avg, 2), trend✅ advisor.pyfrom analyzer import daily_index, load_datadef suggest():根据最近一次记录给出建议data load_data()if not data:return 暂无数据请先完成今日记录latest data[-1]score daily_index(latest)if score 7:return 建议强制离线 30 分钟 拆分任务清单elif score 5:return 建议短时散步 明确今天只完成 3 件事else:return 建议维持当前节奏注意睡眠与边界感✅ main.pyfrom recorder import record_moodfrom analyzer import analyze_recentfrom advisor import suggestdef main():print(\n 职场情绪压力自测工具 \n)record_mood()result analyze_recent()if result:avg, trend resultprint(f\n 近 7 日平均压力指数{avg} {trend})print(\n 调节建议)print(suggest())if __name__ __main__:main()五、README 与使用说明README.md# Mood Tracker职场情绪压力自测工具## 简介一个基于 Python 的命令行工具用于每日记录职场情绪压力并通过简单算法提供趋势分析与调节建议。## 特点- 本地运行无数据上传- 无需账号与网络- 可长期使用便于自我观察## 使用方法1. 安装 Python 3.92. 克隆或下载本项目3. 运行python main.py## 数据存储所有数据保存在data/mood_log.json## 适用场景- 个人情绪追踪- 创业 / 实验课程项目- 团队内部健康实验六、核心知识点卡片可直接摘录类别 内容Python 基础 输入输出、条件判断、函数数据结构 dict / list / JSON文件操作 读写、路径检查简单算法 加权计算、滑动窗口工程思维 模块化、配置集中管理产品设计 MVP、最小可用工具隐私意识 本地优先、不上云七、总结工程师视角这个程序不是“情绪管理神器”而是一个可验证、可迭代的实验工具。真正的价值不在于代码复杂度而在于你是否愿意连续 30 天诚实地面对自己的数据与反应。如果你愿意可以下一步- ✅ 改成 Flask Web 版- ✅ 增加 可视化图表- ✅ 改造成 团队协作版- ✅ 设计成 课程实验报告模板利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛