编写程序根据每日目标完成率,焦虑频次,分析压力来源并分级疏导。
基于每日目标完成率与焦虑频次的个人压力源分析与分级疏导工具(教学级健康管理原型)
内容不涉及心理诊断、不推荐药物或疗法、不制造焦虑、无任何引流。
一、实际应用场景描述
在智能健康管理课程中,压力源识别(Stress Identification)与分层干预是核心教学内容。
本程序适用于:
- 个人自我管理(学生 / 职场人)
- 学校心理健康通识课
- 企业员工健康(EHP)教学
- 健康管理专业实验案例
核心目标:
- 记录每日目标完成率
- 记录焦虑频次
- 推断主要压力源类型
- 给出分级疏导建议
✅ 不替代心理咨询师
✅ 不做精神科判断
✅ 仅作为健康意识与数据素养工具
二、痛点引入(真实可感知)
痛点 表现
压力模糊 “压力大”但说不清原因
目标失控 完成率低却不知症结
焦虑频繁 情绪与任务脱节
疏导混乱 盲目休息或硬扛
工具过重 专业测评门槛高
👉 需要一个轻量、本地、可解释的压力分析工具
三、核心逻辑讲解(工程视角)
1️⃣ 数据模型设计
DailyStressRecord
├── date 日期
├── task_completion_rate 目标完成率(%)
├── anxiety_frequency 焦虑频次(次/日)
├── task_type 任务类型
└── perceived_control 掌控感自评(1–10)
2️⃣ 压力源推断规则(教学用)
特征组合 推测压力源
完成率低 + 掌控感低 能力 / 资源不足
完成率低 + 掌控感高 外部干扰或任务过重
焦虑频次高 + 完成率高 完美主义 / 预期焦虑
焦虑频次高 + 睡眠差 生理因素叠加
3️⃣ 压力指数计算
压力指数 =
(1 - 完成率) × 焦虑因子 × 掌控因子
4️⃣ 压力分级与疏导
压力指数 等级 疏导策略
< 0.3 轻度 自我调整
0.3–0.6 中度 行为干预
> 0.6 重度 建议寻求专业支持
四、Python 模块化代码(可直接运行)
📁 项目结构
stress_source_analyzer/
│
├── main.py
├── models.py
├── analyzer.py
├── advisor.py
├── storage.py
└── README.md
✅ models.py(数据建模)
"""
models.py
每日压力数据模型
"""
class DailyStressRecord:
def __init__(
self,
date,
task_completion_rate,
anxiety_frequency,
task_type,
perceived_control
):
self.date = date
self.task_completion_rate = task_completion_rate
self.anxiety_frequency = anxiety_frequency
self.task_type = task_type
self.perceived_control = perceived_control
✅ analyzer.py(核心分析逻辑)
"""
analyzer.py
压力源推断与压力指数计算
"""
def infer_stress_source(record):
if record.task_completion_rate < 60:
if record.perceived_control < 5:
return "能力与资源不足"
else:
return "外部干扰或任务过重"
else:
if record.anxiety_frequency >= 3:
return "完美主义或预期焦虑"
else:
return "偶发情境压力"
def calculate_stress_index(record):
completion_factor = 1 - record.task_completion_rate / 100
anxiety_factor = record.anxiety_frequency / 10
control_factor = (11 - record.perceived_control) / 10
return completion_factor * anxiety_factor * control_factor * 10
def analyze(records):
results = []
for r in records:
source = infer_stress_source(r)
index = calculate_stress_index(r)
level = interpret(index)
results.append({
"date": r.date,
"stress_source": source,
"stress_index": round(index, 2),
"level": level
})
return results
def interpret(index):
if index < 3:
return "轻度压力"
elif index <= 6:
return "中度压力"
else:
return "重度压力"
✅ advisor.py(分级疏导建议)
"""
advisor.py
分级疏导建议(非临床)
"""
def advise(level, source):
base = {
"轻度压力": [
"保持规律作息",
"适度运动与放松"
],
"中度压力": [
"拆解任务目标",
"减少多任务并行",
"增加休息间隔"
],
"重度压力": [
"考虑暂停非必要任务",
"及时寻求专业支持",
"避免独自承受"
]
}
suggestions = base[level]
suggestions.append(f"重点关注压力来源:{source}")
return suggestions
✅ storage.py(本地存储)
"""
storage.py
JSON 本地存储
"""
import json
FILE_PATH = "stress_records.json"
def save_records(records):
data = [r.__dict__ for r in records]
with open(FILE_PATH, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
✅ main.py(交互入口)
"""
main.py
压力源分析与分级疏导工具
"""
from models import DailyStressRecord
from analyzer import analyze
from advisor import advise
from storage import save_records
def main():
print("=== 压力源分析与疏导工具 ===")
records = []
for _ in range(5):
date = input("日期(YYYY-MM-DD):")
rate = float(input("目标完成率(%):"))
anxiety = int(input("焦虑频次(次/日):"))
task = input("任务类型:")
control = int(input("掌控感自评(1–10):"))
records.append(DailyStressRecord(
date, rate, anxiety, task, control
))
results = analyze(records)
print("\n【分析结果】")
for r in results:
print(r)
print("\n【疏导建议】")
for s in advise(results[-1]["level"], results[-1]["stress_source"]):
print("-", s)
save_records(records)
print("✅ 数据已保存")
if __name__ == "__main__":
main()
五、README 与使用说明
# 压力源分析与分级疏导工具(教学版)
## 项目说明
根据每日目标完成率与焦虑频次,推断压力源并给出分级疏导建议。
## 使用方式
```bash
python main.py
```
## 适用范围
- 心理健康教学
- 健康管理课程
- 个人压力管理练习
## 注意事项
- 非心理诊断工具
- 不替代专业帮助
- 结果仅作教学与自我观察
六、核心知识点卡片(教学向)
分类 内容
Python 类、函数、条件逻辑
数据分析 规则推理与指数建模
心理健康 压力源识别与分层干预
工程思想 模块化与解耦
数据伦理 不标签化、不恐吓
可扩展性 可接入任务管理工具
七、总结(工程师视角)
这是一个完全中立、去营销化、可教学的原型系统:
✅ 不制造焦虑
✅ 不伪装成诊疗工具
✅ 不提供“万能解压法”
它真正展示的是:
如何用 Python 把模糊的压力感受,转化为可理解、可应对的结构化信息。
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!
