news 2026/7/27 19:34:30

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

作者头像

张小明

前端开发工程师

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/7/26 15:20:00

音频比特率设置多少最好?320kbps 真的比 128kbps 好很多吗

无论是听音乐、看视频、播客&#xff0c;还是进行语音通话、内容创作&#xff0c;我们几乎每天都在和音频打交道。而提到音频质量&#xff0c;比特率往往是绕不开的核心参数。那么&#xff0c;MP3 或其他常见音频格式的比特率到底设置为多少最合适&#xff1f;128kbps 够用吗&a…

作者头像 李华
网站建设 2026/7/21 23:55:25

【毕业设计】基于springboot的乡村书屋数字化资源平台的设计与实现(源码+文档+远程调试,全bao定制等)

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

作者头像 李华
网站建设 2026/7/8 10:50:27

Java毕设项目:基于springboot的面向新工科课程线上教学辅助平台(源码+文档,讲解、调试运行,定制等)

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

作者头像 李华
网站建设 2026/7/25 8:50:12

python 如何对布尔值取反

在 Python 中&#xff0c;对布尔值取反最直接的方法是使用逻辑运算符 not。以下是详细说明和示例&#xff1a; 1. 基本用法 a True b not a # b 的值为 Falsec False d not c # d 的值为 True2. 非布尔值的取反 当操作数是非布尔值&#xff08;如整数、字符串、列表等&am…

作者头像 李华
网站建设 2026/7/26 7:29:43

【Django毕设源码分享】基于Django+web的喀什地区景点推荐系统的设计与实现(程序+文档+代码讲解+一条龙定制)

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

作者头像 李华
网站建设 2026/7/24 4:16:35

无人值守的停车系统的设计与实现

无人值守的停车系统的设计与实现 第一章 系统整体设计 无人值守的停车系统以“全流程自动化、远程智能化管控、低成本运维、高用户体验”为核心设计目标&#xff0c;面向商业综合体、写字楼、园区等停车场场景&#xff0c;解决传统停车场依赖人工收费、管理效率低、运营成本高、…

作者头像 李华