用 Python 构建一个夜宵食用时间 × 品类对睡眠与肠胃双重影响评估系统用于说明「如何让夜间饮食数据变成可解释的健康风险提示」。一、实际应用场景描述在慢病管理、体重管理与健康管理课程中夜间进食分析常用于- 加班族、学生党夜宵习惯评估- 胃食管反流、失眠人群的行为归因- 减脂期饮食结构调整- 健康管理课程中的行为—健康关联教学案例典型数据包括- 夜宵时间距入睡时间- 夜宵品类油腻 / 清淡 / 甜品 / 酒精- 食用量可选但在现实中- 只知道“吃了夜宵”- 不清楚几点吃影响最大- 不清楚不同品类对睡眠和肠胃的差异影响二、引入痛点当前常见问题1. 时间模糊只记“晚上吃了”不记距睡觉多久2. 品类混为一谈炸鸡和酸奶都被叫“夜宵”3. 影响不可见不知道是睡不好还是胃不舒服痛点总结缺少一个可量化、可区分、非诊断性的夜宵健康影响分析工具。三、核心逻辑讲解工程建模视角⚠️ 说明以下为工程影响模型不等同于临床或营养学标准。核心输入字段 含义snack_time 夜宵时间小时24h制sleep_time 入睡时间category 夜宵品类amount_g 食用量克可选工程权重示例品类 睡眠影响 肠胃影响油腻 1.5 1.5甜品 1.3 1.1酒精 1.6 1.2清淡 0.8 0.8计算公式时间因子 1 / 距入睡小时数睡眠风险 品类权重 × 时间因子肠胃风险 品类权重 × 时间因子 × 量因子四、Python 核心代码模块化 清晰注释1️⃣ 数据结构定义models.py夜宵数据结构class MidnightSnack:def __init__(self, snack_time, sleep_time, category, amount_g100):self.snack_time snack_timeself.sleep_time sleep_timeself.category categoryself.amount amount_g2️⃣ 影响评估模块impact.py夜宵对睡眠与肠胃的影响评估CATEGORY_WEIGHT {greasy: {sleep: 1.5, gut: 1.5},dessert: {sleep: 1.3, gut: 1.1},alcohol: {sleep: 1.6, gut: 1.2},light: {sleep: 0.8, gut: 0.8}}def hours_before_sleep(snack, sleep):return max(sleep - snack, 0.5)def impact_scores(snack: MidnightSnack):time_factor 1 / hours_before_sleep(snack.snack_time, snack.sleep_time)weight CATEGORY_WEIGHT.get(snack.category, {sleep: 1.0, gut: 1.0})sleep_score weight[sleep] * time_factorgut_score weight[gut] * time_factor * (snack.amount / 100)return round(sleep_score, 2), round(gut_score, 2)3️⃣ 风险分级与提醒模块advisor.py夜宵风险分级与提醒def risk_level(score):if score 1.0:return 低风险elif score 2.0:return 中风险else:return 高风险def advice_text(sleep_level, gut_level):if sleep_level 高风险 or gut_level 高风险:return 建议尽量避免此类夜宵或大幅提前进食时间。elif sleep_level 中风险 or gut_level 中风险:return 建议减少分量并在睡前 3 小时以上食用。else:return 夜宵影响较小注意保持清淡即可。4️⃣ 主程序main.pyfrom models import MidnightSnackfrom impact import impact_scoresfrom advisor import risk_level, advice_textif __name__ __main__:snack MidnightSnack(snack_time22.0,sleep_time23.0,categorygreasy,amount_g200)sleep_score, gut_score impact_scores(snack)sleep_level risk_level(sleep_score)gut_level risk_level(gut_score)print(睡眠影响评分, sleep_score, | 等级, sleep_level)print(肠胃影响评分, gut_score, | 等级, gut_level)print(健康提醒, advice_text(sleep_level, gut_level))五、README.md# Midnight Snack Impact Analyzer夜宵健康影响分析工具## 项目定位本工具用于教学与技术演示展示如何基于夜宵时间与品类评估对睡眠与肠胃的双重影响。⚠️ 本项目不构成医学或营养建议仅用于工程建模练习。## 功能- 夜宵数据建模- 睡眠与肠胃影响评分- 风险分级与健康提醒## 使用方式bashpython main.py## 依赖- Python 3.8## 适用人群- 全栈开发者- 健康管理课程讲师- 慢病管理与家庭健康实践者六、使用说明User Guide1. 构造MidnightSnack 夜宵数据2. 使用impact_scores 计算双重影响3. 调用risk_level 与advice_text 获取提醒4. 可扩展为- 多日夜宵趋势分析- 与睡眠监测数据联动- 家庭饮食健康仪表盘七、核心知识点卡片去营销化 知识点 1时间比品类更关键工程上“距入睡时间”是第一风险因子。 知识点 2睡眠与肠胃要分开建模同一夜宵可能只影响其中一个。 知识点 3建议要可操作给出“提前多久、吃多少”的具体方向。八、总结中立立场✅ 本程序展示了一个通用、可扩展的夜间饮食健康分析模型✅ 强调时间 × 品类 → 双重影响 → 可解释提醒的工程闭环✅ 非常适合用于慢病管理、健康课程、技术博客利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛