news 2026/4/30 1:19:31

输入手机各应用使用时长,分类统计娱乐/工作/学习占比,并给出健康建议。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
输入手机各应用使用时长,分类统计娱乐/工作/学习占比,并给出健康建议。

1️⃣ 实际应用场景描述 & 痛点引入

在数字化生活中,人们每天使用手机的时间很长,但往往不清楚时间都花在了哪里。

尤其是学生、上班族,可能娱乐时间过长,影响工作与学习。

痛点:

- 无法量化各类应用的使用占比。

- 容易沉迷娱乐,忽视工作与学习。

- 缺乏科学的时间管理建议。

目标:

输入各应用的使用时长,自动分类为娱乐/工作/学习,计算占比,并给出健康使用建议。

2️⃣ 核心逻辑讲解

我们假设:

- 应用分类规则(可自定义):

- 娱乐:短视频、游戏、社交、视频等。

- 工作:邮件、办公软件、项目管理等。

- 学习:阅读、教育类 App 等。

- 统计总时长,计算各类占比。

- 根据占比给出建议(如娱乐占比过高则提醒减少)。

公式:

\text{占比} = \frac{\text{该类总时长}}{\text{所有应用总时长}} \times 100\%

3️⃣ 模块化代码 + 详细注释

文件结构

screen_time_analysis/

├── main.py # 主程序入口

├── classifier.py # 应用分类模块

├── analyzer.py # 统计分析模块

├── advisor.py # 健康建议模块

└── README.md # 使用说明

"classifier.py"

# classifier.py

def classify_app(app_name):

"""

根据应用名称分类

:param app_name: 应用名

:return: 类别 ('entertainment', 'work', 'study')

"""

entertainment_keywords = ['抖音', '快手', '王者', '吃鸡', '微信', '微博', 'B站', 'YouTube', 'Netflix']

work_keywords = ['邮箱', 'Word', 'Excel', 'PPT', '钉钉', '企业微信', 'Jira', 'Trello']

study_keywords = ['知乎', '得到', 'Kindle', 'Coursera', '学堂在线', '百词斩']

app_lower = app_name.lower()

for kw in entertainment_keywords:

if kw.lower() in app_lower:

return 'entertainment'

for kw in work_keywords:

if kw.lower() in app_lower:

return 'work'

for kw in study_keywords:

if kw.lower() in app_lower:

return 'study'

return 'unknown' # 未知类别

"analyzer.py"

# analyzer.py

def analyze_usage(app_usage):

"""

统计各类使用时长及占比

:param app_usage: dict {应用名: 使用时长(分钟)}

:return: dict {类别: 总时长}, 总时长

"""

category_times = {'entertainment': 0, 'work': 0, 'study': 0, 'unknown': 0}

total_time = 0

for app, duration in app_usage.items():

category = classify_app(app)

category_times[category] += duration

total_time += duration

# 计算占比

percentages = {}

for cat, time in category_times.items():

percentages[cat] = (time / total_time * 100) if total_time > 0 else 0

return category_times, percentages, total_time

"advisor.py"

# advisor.py

def give_advice(category_times, percentages):

"""

根据占比给出健康建议

"""

advice = []

if percentages['entertainment'] > 50:

advice.append("⚠️ 娱乐时间过长,建议每天控制在50%以内,多安排工作与学习。")

elif percentages['entertainment'] > 30:

advice.append("💡 娱乐时间适中,可适当增加学习时间。")

else:

advice.append("✅ 娱乐时间控制良好。")

if percentages['work'] < 20:

advice.append("📌 工作时间较少,建议提升工作效率,避免拖延。")

else:

advice.append("👍 工作时间充足。")

if percentages['study'] < 10:

advice.append("📚 学习时间偏少,建议每天至少安排10%时间用于学习。")

else:

advice.append("🎓 学习时间安排合理。")

return advice

"main.py"

# main.py

from analyzer import analyze_usage

from advisor import give_advice

def main():

print("=== 手机应用使用时长分析器 ===")

app_usage = {}

n = int(input("请输入应用数量: "))

for _ in range(n):

app = input("应用名: ")

mins = float(input("使用时长(分钟): "))

app_usage[app] = mins

category_times, percentages, total_time = analyze_usage(app_usage)

print("\n📊 分类统计:")

for cat in ['entertainment', 'work', 'study', 'unknown']:

print(f"{cat}: {category_times[cat]:.1f} 分钟 ({percentages[cat]:.1f}%)")

print(f"\n总时长: {total_time:.1f} 分钟")

advice_list = give_advice(category_times, percentages)

print("\n💬 健康建议:")

for a in advice_list:

print(a)

if __name__ == "__main__":

main()

4️⃣ README.md

# 手机应用使用时长分析器

本程序根据输入的应用使用时长,自动分类为娱乐/工作/学习,计算占比,并给出健康使用建议。

## 使用说明

1. 运行程序:

bash

python main.py

2. 输入:

- 应用数量

- 每个应用的名称与使用分钟数

3. 输出:

- 各类别总时长与占比

- 健康使用建议

## 核心公式

占比 = 类别总时长 / 总时长 × 100%

5️⃣ 核心知识点卡片

知识点 说明

数据分类 根据关键词匹配应用类别

统计分析 计算总时长与占比

条件建议 根据占比阈值给出健康提示

模块化设计 分类、分析、建议分离

数字化生活 用数据管理时间,提升效率

6️⃣ 总结

通过该程序,我们实现了:

- 自动分类手机应用使用时长。

- 量化占比,直观了解时间分配。

- 个性化建议,帮助用户养成健康数字生活习惯。

- 在智能制造与数字化工厂中,这种数据采集+分析+反馈的模式同样适用于设备运行状态监控、生产效率优化等场景。

如果你愿意,还可以扩展这个程序,加入每日趋势图、跨天数据累积、与屏幕时间API对接等,让它更接近真实的数字健康管理工具。

利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 1:13:51

计算机Java毕设实战-基于springboot的乡村书屋数字化资源平台的设计与实现基于springboot+vue的乡村书屋数字化资源平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/27 23:07:20

高效异步处理:基于RocketMQ的消费系统架构全解析

基于 RocketMQ 的考勤统计批量处理系统核心实现 基于 RocketMQ 的考勤统计批量处理系统核心实现 一、消息实体定义 二、生产者服务实现 三、消费者监听器实现 四、线程池配置 五、业务服务实现 六、配置文件 七、Maven依赖 八、关键设计要点 8.1 生产者发送策略 8.2…

作者头像 李华
网站建设 2026/4/27 21:40:47

Linux关机命令

在Linux系统中&#xff0c;关机可以通过多种命令实现&#xff0c;具体取决于你的需求&#xff08;如立即关机、定时关机、安全关机等&#xff09;以及使用的系统管理工具&#xff08;如systemd或SysVinit&#xff09;。以下是常用的关机方法&#xff1a;1. 使用 shutdown 命令&…

作者头像 李华
网站建设 2026/4/26 9:48:07

【Django毕设源码分享】基于Django的羽毛球服务管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/27 13:07:01

神经网络入门:从零开始构建你的第一个深度学习模型

✨道路是曲折的&#xff0c;前途是光明的&#xff01; &#x1f4dd; 专注C/C、Linux编程与人工智能领域&#xff0c;分享学习笔记&#xff01; &#x1f31f; 感谢各位小伙伴的长期陪伴与支持&#xff0c;欢迎文末添加好友一起交流&#xff01; 前言什么是神经网络&#xff1f…

作者头像 李华