编写程序统计睡前手机时长,内容类型,分析对入睡速度,睡眠质量的影响。
睡前手机使用时长与内容类型对入睡速度与睡眠质量影响的分析工具(教学级健康管理原型)
内容不做医学诊断、不推荐产品、不制造焦虑、无任何引流。
一、实际应用场景描述
在智能健康管理课程中,数字健康(Digital Well-being)与睡眠卫生(Sleep Hygiene)是核心交叉领域。
本程序适用于:
- 个人睡眠行为自我监测
- 学校睡眠健康教育
- 企业员工健康管理课程
- 健康管理专业实验教学
核心目标:
- 记录睡前手机使用时长
- 记录内容类型
- 基于规则模型分析:
- 对入睡速度的影响
- 对睡眠质量的影响
- 输出非临床改善建议
✅ 不替代医生
✅ 不做睡眠障碍诊断
✅ 仅作为健康意识与数据素养工具
二、痛点引入(真实可感知)
痛点 表现
睡前刷机无感 以为“只看一会儿”
内容不加区分 短视频、新闻、聊天混用
入睡变慢 躺下 1 小时仍清醒
睡眠质量差 多梦、易醒
缺乏因果认知 不把睡眠问题与手机关联
👉 需要一个轻量、本地、可解释的行为分析工具
三、核心逻辑讲解(工程视角)
1️⃣ 数据模型设计
SleepPhoneRecord
├── date 日期
├── pre_sleep_duration 睡前使用时长(分钟)
├── content_type 内容类型
├── fall_asleep_minutes 入睡所需时间(分钟)
└── sleep_quality 睡眠质量自评(1–10)
2️⃣ 影响机制假设(教学用)
影响因素 风险倾向
时长越长 入睡越慢
高刺激内容 睡眠质量越低
蓝光暴露 生物钟延迟
情绪唤醒 入睡困难
3️⃣ 影响指数计算
入睡影响指数
入睡影响 =
时长因子 × 内容刺激因子
睡眠质量影响指数
质量影响 =
时长因子 × 内容刺激因子 × 睡眠自评因子
4️⃣ 风险分级
指数范围 等级
< 3 低风险
3–6 中风险
> 6 高风险
四、Python 模块化代码(可直接运行)
📁 项目结构
sleep_phone_impact_analyzer/
│
├── main.py
├── models.py
├── analyzer.py
├── advisor.py
├── storage.py
└── README.md
✅ models.py(数据建模)
"""
models.py
睡前手机使用与睡眠数据模型
"""
class SleepPhoneRecord:
def __init__(
self,
date,
pre_sleep_duration,
content_type,
fall_asleep_minutes,
sleep_quality
):
self.date = date
self.pre_sleep_duration = pre_sleep_duration
self.content_type = content_type
self.fall_asleep_minutes = fall_asleep_minutes
self.sleep_quality = sleep_quality
✅ analyzer.py(核心分析逻辑)
"""
analyzer.py
睡前手机使用对睡眠的影响分析
"""
CONTENT_STIMULUS = {
"短视频": 1.3,
"社交媒体": 1.2,
"新闻资讯": 1.1,
"阅读": 0.8,
"音乐": 0.7
}
def analyze(records):
results = []
for r in records:
duration_factor = r.pre_sleep_duration / 60
stimulus = CONTENT_STIMULUS.get(r.content_type, 1.0)
sleep_onset_index = duration_factor * stimulus * (r.fall_asleep_minutes / 30)
quality_factor = (11 - r.sleep_quality) / 10
quality_index = duration_factor * stimulus * quality_factor * 5
level_onset = interpret(sleep_onset_index)
level_quality = interpret(quality_index)
results.append({
"date": r.date,
"sleep_onset_index": round(sleep_onset_index, 2),
"sleep_onset_level": level_onset,
"quality_index": round(quality_index, 2),
"quality_level": level_quality
})
return results
def interpret(index):
if index < 3:
return "低风险"
elif index <= 6:
return "中风险"
else:
return "高风险"
✅ advisor.py(改善建议)
"""
advisor.py
睡眠改善建议(非临床)
"""
def advise(results):
suggestions = set()
for r in results:
if r["sleep_onset_level"] != "低风险":
suggestions.add("缩短睡前手机使用时长")
if r["quality_level"] != "低风险":
suggestions.add("避免高刺激内容睡前使用")
if not suggestions:
suggestions.add("当前睡前手机使用模式较健康")
return list(suggestions)
✅ storage.py(本地存储)
"""
storage.py
JSON 本地存储
"""
import json
FILE_PATH = "sleep_phone_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 SleepPhoneRecord
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):")
duration = int(input("睡前使用时长(分钟):"))
content = input("内容类型:")
onset = int(input("入睡所需时间(分钟):"))
quality = int(input("睡眠质量自评(1–10):"))
records.append(SleepPhoneRecord(
date, duration, content, onset, quality
))
results = analyze(records)
print("\n【分析结果】")
for r in results:
print(r)
print("\n【改善建议】")
for s in advise(results):
print("-", s)
save_records(records)
print("✅ 数据已保存")
if __name__ == "__main__":
main()
五、README 与使用说明
# 睡前手机使用对睡眠影响分析工具(教学版)
## 项目说明
统计睡前手机使用时长与内容类型,分析对入睡速度与睡眠质量的影响。
## 使用方式
```bash
python main.py
```
## 适用范围
- 睡眠健康教育
- 数字健康管理
- 健康管理课程实验
## 注意事项
- 非医疗诊断工具
- 不替代专业治疗
- 结果仅作教学与自我观察
六、核心知识点卡片(教学向)
分类 内容
Python 类、函数、字典映射
数据分析 行为量化与影响建模
睡眠健康 睡眠卫生与蓝光影响
工程思想 模块化与解耦
数据伦理 不恐吓、不绝对化
可扩展性 可接入屏幕使用时间 API
七、总结(工程师视角)
这是一个完全中立、去营销化、可教学的原型系统:
✅ 不妖魔化手机
✅ 不提供“戒手机”极端方案
✅ 不伪装成医疗工具
它真正展示的是:
如何用 Python 把日常数字行为,转化为可理解、可调整的睡眠健康数据
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!
