收集自己的每日玩手机时段,统计睡前玩手机时长,输出减少睡前玩手机的建议。

完整输出一个可运行的 Python 项目示例,用于记录每日玩手机时段、统计睡觉前玩手机时长、输出减少睡前玩手机的建议。

1. 实际应用场景描述

现代人几乎离不开手机,尤其是在睡前刷社交媒体、看视频、玩游戏,容易导致睡眠时间推迟、睡眠质量下降。

很多人意识到这个问题,但缺乏具体数据来量化睡前玩手机的时长,也无法制定有效的改善计划。

本程序基于大数据与智能管理课程中的数据采集、时间分析与行为优化方法,帮助用户记录每日玩手机的时间段、自动统计睡觉前玩手机的时长,并根据数据给出减少睡前玩手机的建议,从而改善睡眠习惯。

2. 痛点分析

- 无数据记录:睡前玩手机的时间往往是模糊记忆,无法精确统计。

- 习惯难改:缺乏客观数据,难以制定针对性的改善计划。

- 影响健康:长时间睡前玩手机可能导致入睡困难、睡眠质量差。

- 手动统计麻烦:人工计算每天睡前玩手机时长费时且易错。

3. 核心逻辑讲解

1. 数据采集:用户输入每天玩手机的开始时间和结束时间(可扩展为从手机屏幕使用时间 API 导入)。

2. 数据存储:用 CSV 文件存储日期、开始时间、结束时间。

3. 睡前时段定义:假设用户睡觉时间为 23:00,则 22:00–23:00 为“睡前时段”。

4. 重叠计算:计算玩手机时间段与睡前时段的交集,得到睡前玩手机时长。

5. 建议生成:根据平均睡前玩手机时长,给出减少建议(如提前半小时放下手机、开启夜间模式等)。

4. 代码模块化

项目结构

phone_usage_tracker/

├── main.py

├── usage_data.py

├── analyzer.py

├── advisor.py

└── README.md

"usage_data.py"

# 手机使用数据模块

import csv

from datetime import datetime

DATA_FILE = "phone_usage.csv"

def init_data_file():

"""初始化 CSV 文件"""

try:

with open(DATA_FILE, 'x', newline='') as f:

writer = csv.writer(f)

writer.writerow(["date", "start_time", "end_time"])

except FileExistsError:

pass

def add_record(date_str, start_str, end_str):

"""添加一条手机使用记录"""

with open(DATA_FILE, 'a', newline='') as f:

writer = csv.writer(f)

writer.writerow([date_str, start_str, end_str])

def load_records():

"""加载所有记录"""

records = []

try:

with open(DATA_FILE, 'r') as f:

reader = csv.DictReader(f)

for row in reader:

records.append({

"date": datetime.strptime(row["date"], "%Y-%m-%d"),

"start": datetime.strptime(row["start_time"], "%H:%M").time(),

"end": datetime.strptime(row["end_time"], "%H:%M").time()

})

except FileNotFoundError:

pass

return records

"analyzer.py"

# 分析模块

from datetime import datetime, time

BEDTIME_START = time(22, 0) # 睡前时段开始

BEDTIME_END = time(23, 0) # 睡前时段结束

def time_to_minutes(t):

"""将 time 对象转换为分钟数"""

return t.hour * 60 + t.minute

def minutes_to_time(m):

"""将分钟数转换为 time 对象"""

return time(m // 60, m % 60)

def calculate_bedtime_usage(record):

"""

计算单条记录的睡前玩手机时长(分钟)

"""

start_min = time_to_minutes(record["start"])

end_min = time_to_minutes(record["end"])

bed_start_min = time_to_minutes(BEDTIME_START)

bed_end_min = time_to_minutes(BEDTIME_END)

# 如果整个玩手机时段在睡前时段外

if end_min <= bed_start_min or start_min >= bed_end_min:

return 0

# 计算交集

overlap_start = max(start_min, bed_start_min)

overlap_end = min(end_min, bed_end_min)

if overlap_end <= overlap_start:

return 0

return overlap_end - overlap_start

"advisor.py"

# 建议模块

def generate_advice(avg_bedtime_minutes):

"""

根据平均睡前玩手机时长生成建议

"""

if avg_bedtime_minutes == 0:

return "太棒了!睡前没有玩手机,继续保持好习惯。"

elif avg_bedtime_minutes <= 15:

return "睡前玩手机时间较少,建议进一步减少到 0 分钟,提升睡眠质量。"

elif avg_bedtime_minutes <= 30:

return "睡前玩手机时间适中,建议提前半小时放下手机,改用阅读或冥想放松。"

elif avg_bedtime_minutes <= 60:

return "睡前玩手机时间较长,建议设置手机夜间模式,并逐步减少使用时长。"

else:

return "睡前玩手机时间过长,严重影响睡眠,建议制定严格的睡前无手机计划,如使用闹钟代替手机。"

"main.py"

# 主程序入口

from usage_data import init_data_file, add_record, load_records

from analyzer import calculate_bedtime_usage

from advisor import generate_advice

def main():

init_data_file()

# 示例数据录入(实际应用中可改为用户输入或API导入)

sample_data = [

("2026-01-12", "21:30", "23:30"),

("2026-01-13", "22:10", "23:45"),

("2026-01-14", "20:00", "21:00"),

("2026-01-15", "22:45", "00:30"),

("2026-01-16", "21:50", "23:10")

]

for date_str, start_str, end_str in sample_data:

add_record(date_str, start_str, end_str)

records = load_records()

total_bedtime_minutes = 0

for rec in records:

mins = calculate_bedtime_usage(rec)

total_bedtime_minutes += mins

print(f"{rec['date'].date()} 睡前玩手机时长: {mins} 分钟")

avg_bedtime_minutes = total_bedtime_minutes / len(records) if records else 0

print(f"\n平均睡前玩手机时长: {round(avg_bedtime_minutes, 2)} 分钟")

advice = generate_advice(round(avg_bedtime_minutes))

print(f"建议: {advice}")

if __name__ == "__main__":

main()

5. README.md

# Phone Usage Before Bed Tracker

一个基于 Python 的睡前手机使用分析工具,可统计每天睡前玩手机时长并给出减少建议。

## 功能

- 记录每日玩手机时间段

- 自动计算睡前玩手机时长

- 输出平均睡前使用时长

- 根据数据生成减少睡前玩手机的建议

## 使用方法

1. 克隆或下载本项目

2. 确保已安装 Python 3.x

3. 运行:

bash

python main.py

## 项目结构

- `main.py`:主程序入口

- `usage_data.py`:数据读写

- `analyzer.py`:睡前时长计算

- `advisor.py`:建议生成

## 扩展方向

- 接入手机屏幕使用时间 API 自动导入数据

- 支持自定义睡前时段

- 使用 Matplotlib 绘制睡前使用时长趋势图

6. 使用说明

1. 运行

"main.py" 会自动创建

"phone_usage.csv" 并写入示例数据。

2. 可修改

"sample_data" 为真实使用记录。

3. 程序会输出每天睡前玩手机时长、平均值及建议。

4. 后续可扩展为交互式输入或图形界面。

7. 核心知识点卡片

知识点 说明

CSV 文件操作 用

"csv" 模块实现数据持久化

时间处理 使用

"datetime.time" 和分钟转换进行时间区间计算

区间交集算法 计算两个时间区间的重叠部分

规则建议引擎 根据数据阈值生成行为建议

模块化设计 数据、分析、建议分离,便于维护

大数据思维 从日常行为数据中量化问题,指导行为优化

8. 总结

本项目将大数据与智能管理课程中的数据采集、时间分析、行为优化方法应用于个人健康管理,解决了睡前玩手机时长无法量化、习惯难改的痛点。

通过模块化设计和清晰的分析逻辑,用户可以快速了解自己的睡前手机使用情况并获得针对性建议。未来可结合机器学习预测使用趋势,并接入真实手机数据,打造完整的数字健康助手。

如果你愿意,可以加上 Matplotlib 可视化睡前使用时长趋势折线图,让变化更直观。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1173279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vite + vue 快速构建 html 页面 (舒适编写html文件)

安装 1、安装 node 2、安装 vite、vue、prettier npm i -D vite vue prettier安装打包插件&#xff08;可下载源码修改&#xff09; npm i -D vite-plugin-html-vue-ssr插件开源地址&#xff1a;https://github.com/Mo-jon/vite-plugin-html-vue-ssr 配置 vite.config.js …

2026年口碑好的管式马弗炉,烧结马弗炉,陶瓷马弗炉厂家实力优选榜 - 品牌鉴赏师

引言在工业生产和科研实验领域,管式马弗炉、烧结马弗炉、陶瓷马弗炉等设备的作用愈发重要。为了帮助广大用户在 2026 年能够从众多厂家中挑选出实力强劲、口碑良好的马弗炉生产企业,我们依据相关行业协会公开的数据形…

2025年市面上口碑好的现浇楼梯施工,楼梯现浇/现浇搭建/现浇钢筋混凝土/现浇搭建/现浇楼梯,现浇楼梯施工推荐排行 - 品牌推荐师

随着城市化进程加速与居住品质升级,现浇楼梯因个性化设计、结构稳固及空间利用率高的特性,逐渐成为高端住宅、别墅及商业空间改造的首选。然而,行业门槛参差不齐,施工标准模糊、材料以次充好、工期拖延等问题频发,…

2026年云南旅行社推荐:五大服务商深度比较及权威评价排名指南 - 十大品牌推荐

摘要 随着旅游消费的持续升级与个性化需求的日益凸显,云南作为国内首屈一指的旅游目的地,其旅行社服务市场正经历从规模化向品质化、定制化的深刻转型。对于计划前往云南的游客而言,面对市场上数量众多、宣传各异的…

mac vscode 设置万能头文件的方法

1.首先找到include所在的文件夹。 clang++ -E -x c++ - -v < /dev/null 通过这条命令,找到如下目录: /usr/local/include /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1 /Library/Developer/Co…

P14960 「KWOI R1」XOR and Sliding Window

发现事情本质等价于,更改一个 \(b\) 位置相当于对于 \(a\) 的一个长度为 \(k\) 的区间的贡献全部异或一个数,使得最后的总和最小。 划分成 \(\gcd(n, k)\) 个等价类,对奇数情况和偶数情况分类讨论,随便做做就做完了…

导师严选8个AI论文软件,助你轻松搞定本科毕业论文!

导师严选8个AI论文软件&#xff0c;助你轻松搞定本科毕业论文&#xff01; AI 工具&#xff0c;让论文写作不再“难” 对于许多本科生来说&#xff0c;撰写毕业论文是一项既重要又令人头疼的任务。从选题、资料搜集到撰写、修改&#xff0c;每一个环节都充满了挑战。而随着 AI …

2026年自动化解决方案推荐:聚焦用户口碑与实效验证的对比评价及最终排名 - 十大品牌推荐

摘要 当前,全球制造业正经历一场由数字化与智能化驱动的深刻变革,自动化解决方案的选型已从单一设备采购升级为关乎企业长期竞争力的战略决策。面对市场上纷繁复杂的品牌与技术路线,决策者常陷入如何在确保系统可靠…

三相并网逆变器电流模型预测MPC控制Matlab仿真模型(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

三相并网逆变器电流模型预测MPC控制Matlab仿真模型 [1]采用电压外环PI内环电流模型预测控制&#xff0c;单矢量 [2]外环稳定并网输出电压311V&#xff0c;内环通过电流模型预测&#xff0c;比较八个矢量&#xff0c;直接发调制波。 波形完美

导师推荐10个AI论文平台,自考学生轻松搞定毕业论文!

导师推荐10个AI论文平台&#xff0c;自考学生轻松搞定毕业论文&#xff01; AI 工具如何成为自考论文写作的得力助手 在自考学习过程中&#xff0c;撰写毕业论文是许多学生面临的重大挑战。尤其是面对复杂的选题、繁重的文献资料整理以及严格的格式要求时&#xff0c;不少同学感…

2026年自动化厂家推荐:2026年度市场口碑对比评测与最终推荐排名 - 十大品牌推荐

摘要 在工业自动化与数字化浪潮持续深化的背景下,企业决策者正面临一个关键的战略抉择:如何从众多供应商中,遴选出能够支撑其长期发展、兼具技术前瞻性与实施可靠性的合作伙伴。这一选择不仅关乎当前项目的成败,更…

数据迁移验收的防御性实践框架(优化版)

在数据迁移项目中&#xff0c;保障数据完整性是测试工程师的核心使命。以下框架旨在系统性地预防数据损耗&#xff0c;确保迁移过程的可靠性。 ‌一、数据完整性核心维度深化‌ 维度验证要点常见风险场景‌准确性验证‌字段级值比对、计算逻辑校验&#xff08;如聚合函数&…

配置中心实时生效机制测试:保障动态更新的核心防线

‌一、实时生效机制的技术原理‌配置中心&#xff08;如Apollo、Nacos、Consul&#xff09;通过‌长连接推送‌、‌定时轮询‌或‌版本比对‌实现配置的动态拉取与更新。核心流程如下&#xff1a;‌变更触发‌&#xff1a;管理员修改配置项并发布。‌推送通道‌&#xff1a;通过…

2026年1月智能AI客服品牌推荐排行榜单:基于多维度动态分析的十强评测与深度对比 - 十大品牌推荐

一、引言 在数字化转型浪潮中,智能AI客服已成为政府事业单位及企业提升服务效率、优化客户体验、控制运营成本的关键工具。对于负责采购决策的政府信息化部门主管、企业IT负责人及客户服务管理者而言,其核心需求在于…

美自动驾驶出租车竞赛升温,某中心与OpenAI动态

美自动驾驶出租车竞赛加速 相关动态&#xff1a; 某中心的Zoox通过拉斯维加斯推出加入美国自动驾驶出租车竞争。特斯拉在获得测试许可后&#xff0c;其在内华达州的自动驾驶出租车计划取得进展。Lyft和May Mobility在亚特兰大推出自动驾驶出租车服务。Waymo获准在旧金山提供机场…

为何要研究直线沿本身的伸缩变换?

为何要研究直线沿本身的伸缩变换&#xff1f;黄小宁如草图所示初等数学中的单位圆内的直角三角形的直角边&#xff08;直线段&#xff09;随着斜边绕圆心的旋转而作伸长、缩短变换——说明直线段有伸长和缩短变换&#xff1b;而直线段是直线的一部分&#xff0c;所以须研究直线…

2026年1月智能AI客服品牌推荐排行榜单:十款产品深度对比评测分析 - 十大品牌推荐

一、引言 在当前数字化转型浪潮中,智能AI客服已成为政府事业单位及企业提升服务效率、优化客户体验、控制运营成本的关键工具。对于负责采购决策的IT管理者、客户服务部门负责人以及企业经营者而言,其核心需求在于找…

2026必备!9个AI论文网站,助研究生搞定毕业论文!

2026必备&#xff01;9个AI论文网站&#xff0c;助研究生搞定毕业论文&#xff01; AI 工具让论文写作不再焦虑 在研究生阶段&#xff0c;论文写作是一项不可避免的挑战。无论是开题报告、文献综述&#xff0c;还是实证分析和结论撰写&#xff0c;每一步都对学生的学术能力和时…

2026年1月智能AI客服品牌推荐排行榜:十大品牌深度对比与选购指南 - 十大品牌推荐

一、引言 在数字化转型浪潮中,智能AI客服已成为政府事业单位及企业提升服务效率、优化客户体验、控制运营成本的关键工具。对于负责采购决策的政务信息化负责人、企业IT主管及客户服务管理者而言,其核心需求在于寻找…

Oracle 《数据库 2 天开发人员指南》第1章:2天Oracle数据库开发介绍 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …