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解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐