输入熬夜次数和身体状态,用可拓调整思维,输出早睡+提神的作息调整方案。

27 阅读14分钟

可拓作息调整方案生成系统

项目结构

sleep-adjustment-system/ ├── main.py # 主程序入口 ├── analyzer.py # 睡眠问题分析模块 ├── transformer.py # 可拓变换生成模块 ├── advisor.py # 个性化建议生成模块 ├── knowledge.md # 可拓学核心知识点 └── README.md # 完整使用说明

主程序 (main.py)

""" 可拓创新作息调整系统 - 主程序 基于可拓创新思维方法论,解决现代人睡眠问题 作者:可拓创新思维训练课程 版本:2.0 """

import time from analyzer import SleepAnalyzer from transformer import ExtensionTransformer from advisor import SleepAdvisor

def display_pain_points(): """显示痛点引入 - 放在最前面吸引注意力""" print("=" * 70) print("🚨 紧急:您是否正在经历这些睡眠困扰? 🚨") print("=" * 70)

print("\n🔥 深夜加班狗:")
print("   白天工作没效率,晚上加班到深夜")
print("   第二天昏昏沉沉,陷入恶性循环")
print("   '不熬夜做不完,熬夜了更做不完'")

print("\n📱 手机成瘾者:")
print("   '再刷5分钟'变成凌晨2点")
print("   短视频刷不停,游戏放不下")
print("   眼睛酸涩,大脑兴奋,睡意全无")

print("\n😫 失眠困扰者:")
print("   躺在床上数绵羊,思绪万千")
print("   越睡越晚,越晚越焦虑")
print("   第二天靠意志力硬撑")

print("\n⏰ 生物钟混乱者:")
print("   周末报复性补觉,周一崩溃早起")
print("   时差倒不过来,每天都在倒时差")
print("   知道早睡好,但就是做不到")

print("\n" + "=" * 70)
print("💡 可拓创新思维为您提供科学解决方案!")
print("   从'知道'到'做到',只需三步:")
print("   1. 精准诊断睡眠问题")
print("   2. 个性化可拓调整方案")
print("   3. 渐进式习惯养成")
print("=" * 70)

input("\n按Enter键开始诊断您的睡眠问题...")

def display_core_logic(): """展示核心逻辑讲解""" print("\n" + "🔬" + " 核心逻辑:可拓创新四步法 " + "🔬") print("-" * 50)

print("\n1. 物元建模")
print("   📊 用(问题, 特征, 量值)描述您的睡眠状况")
print("   例:(熬夜, 原因, 工作压力), (状态, 疲劳度, 4)")

print("\n2. 发散树分析")
print("   🌳 从核心问题发散出所有影响因素")
print("   熬夜 → 工作压力 | 娱乐 | 失眠 | 习惯")

print("\n3. 可拓变换")
print("   ⚡ 四大变换策略:")
print("   • 时间变换:调整作息时间")
print("   • 习惯变换:改变睡前习惯")
print("   • 环境变换:优化睡眠环境")
print("   • 能量变换:科学提神方法")

print("\n4. 优度评价")
print("   ⭐ 从可行性、有效性、可持续性三维度")
print("   为您选择最适合的解决方案")
time.sleep(2)

def get_user_input(): """获取用户输入""" print("\n" + "📝" + " 请诚实回答以下问题(1-5分)" + "📝") print("-" * 40)

# 第一部分:熬夜现状
print("\n第一部分:您的熬夜现状")
print("(5分表示'非常严重',1分表示'几乎不')")

data = {}

# 熬夜原因
print("\n🔍 熬夜原因分析:")
data['工作学习'] = int(input("  工作/学习任务多,必须熬夜完成 (1-5): "))
data['拖延习惯'] = int(input("  白天拖延,晚上赶工 (1-5): "))
data['娱乐上瘾'] = int(input("  刷手机/玩游戏/追剧停不下来 (1-5): "))
data['社交应酬'] = int(input("  晚上有社交活动 (1-5): "))
data['单纯失眠'] = int(input("  想睡但睡不着 (1-5): "))

# 身体状态
print("\n💪 当前身体状态:")
print("(5分表示'非常严重',1分表示'很好')")
data['白天困倦'] = int(input("  白天经常犯困 (1-5): "))
data['注意力差'] = int(input("  注意力难以集中 (1-5): "))
data['情绪烦躁'] = int(input("  容易烦躁发脾气 (1-5): "))
data['记忆减退'] = int(input("  记忆力下降 (1-5): "))
data['健康问题'] = int(input("  出现头痛/胃痛等健康问题 (1-5): "))

# 生活习惯
print("\n🕰️ 生活习惯:")
data['当前睡觉'] = input("  平时几点睡觉?(格式如 23:30 或 01:00): ")
data['当前起床'] = input("  早上几点起床?(格式如 07:00): ")
data['咖啡频率'] = int(input("  每天喝咖啡/浓茶次数 (0-5): "))
data['运动频率'] = int(input("  每周运动次数 (0-7): "))

return data

def generate_report(analyzer, transformer, advisor): """生成完整报告""" print("\n" + "=" * 70) print("📋 您的个性化可拓作息调整报告") print("=" * 70)

# 1. 问题诊断
print("\n1️⃣ 问题诊断结果")
print("-" * 30)
diagnosis = analyzer.get_diagnosis()
for problem, details in diagnosis.items():
    print(f"🔍 {problem}: {details['desc']}")
    print(f"   严重程度: {'★' * details['level']}{'☆' * (5-details['level'])}")

# 2. 可拓变换方案
print("\n2️⃣ 可拓变换方案")
print("-" * 30)
transformations = transformer.get_all_transformations()
for i, transform in enumerate(transformations, 1):
    print(f"{i}. 【{transform['type']}{transform['name']}")
    print(f"   {transform['description']}")

# 3. 具体执行建议
print("\n3️⃣ 具体执行计划")
print("-" * 30)
advice = advisor.get_personalized_advice()

print("🚨 第一周:紧急调整(立即开始)")
for item in advice.get('urgent', []):
    print(f"   ✓ {item}")

print("\n🎯 第二周:核心习惯养成")
for item in advice.get('core', []):
    print(f"   ✓ {item}")

print("\n🌱 第三周以后:长期优化")
for item in advice.get('long_term', []):
    print(f"   ✓ {item}")

# 4. 提神策略
print("\n4️⃣ 日间科学提神策略")
print("-" * 30)
for item in advice.get('energy', []):
    print(f"   ⚡ {item}")

return advice

def display_summary(): """显示总结""" print("\n" + "=" * 70) print("🎯 方案总结与承诺") print("=" * 70)

print("\n💪 您将获得的改变:")
print("   1. 睡眠质量提升50%以上")
print("   2. 白天精力充沛,工作效率翻倍")
print("   3. 情绪稳定,心态积极")
print("   4. 建立可持续的健康作息")

print("\n📅 执行承诺:")
print("   ✓ 从今晚开始,提前30分钟上床")
print("   ✓ 睡前1小时远离电子设备")
print("   ✓ 明早按时起床,不赖床")
print("   ✓ 坚持21天,养成习惯")

print("\n" + "✨" * 20)
print("改变从今晚开始,好睡眠从今天开始!")
print("✨" * 20)

def main(): """主函数""" # 痛点引入 - 放在最前面 display_pain_points()

# 获取用户输入
user_data = get_user_input()

# 展示核心逻辑
display_core_logic()

# 分析问题
print("\n" + "🔍" + " 正在分析您的睡眠问题..." + "🔍")
time.sleep(1)

analyzer = SleepAnalyzer(user_data)
transformer = ExtensionTransformer(user_data)
advisor = SleepAdvisor(user_data)

# 生成报告
generate_report(analyzer, transformer, advisor)

# 显示总结
display_summary()

# 额外功能
print("\n" + "=" * 70)
print("📱 更多资源")
print("=" * 70)
print("关注'可拓创新思维'公众号,获取:")
print("1. 睡眠打卡社群监督")
print("2. 21天习惯养成计划表")
print("3. 可拓思维训练课程")
print("4. 个性化跟进指导")

if name == "main": main()

分析模块 (analyzer.py)

""" 睡眠问题分析模块 运用可拓学的物元理论进行问题建模 """

class SleepAnalyzer: """睡眠问题分析器"""

def __init__(self, user_data):
    """初始化分析器"""
    self.data = user_data
    self.problems = []
    self.severity_level = 0

def analyze_problems(self):
    """分析睡眠问题"""
    self._analyze_causes()
    self._analyze_effects()
    self._calculate_severity()
    return self.problems

def _analyze_causes(self):
    """分析熬夜原因"""
    causes = []
    
    # 工作压力型
    if self.data.get('工作学习', 0) >= 4 or self.data.get('拖延习惯', 0) >= 4:
        causes.append({
            'type': '工作压力型',
            'level': max(self.data.get('工作学习', 0), self.data.get('拖延习惯', 0)),
            'desc': '工作任务繁重或拖延导致被迫熬夜',
            'tags': ['工作狂', '拖延症', '效率低']
        })
    
    # 娱乐上瘾型
    if self.data.get('娱乐上瘾', 0) >= 4:
        causes.append({
            'type': '娱乐上瘾型',
            'level': self.data.get('娱乐上瘾', 0),
            'desc': '电子产品过度使用导致睡眠时间被占用',
            'tags': ['手机控', '游戏迷', '追剧党']
        })
    
    # 社交型
    if self.data.get('社交应酬', 0) >= 3:
        causes.append({
            'type': '社交型熬夜',
            'level': self.data.get('社交应酬', 0),
            'desc': '夜间社交活动频繁影响正常作息',
            'tags': ['夜生活', '社交达人']
        })
    
    # 生理性失眠
    if self.data.get('单纯失眠', 0) >= 3:
        causes.append({
            'type': '生理性失眠',
            'level': self.data.get('单纯失眠', 0),
            'desc': '身体或心理原因导致的入睡困难',
            'tags': ['失眠', '焦虑', '压力']
        })
    
    self.problems.extend(causes)
    return causes

def _analyze_effects(self):
    """分析熬夜影响"""
    effects = []
    
    # 计算综合影响分数
    effect_scores = [
        self.data.get('白天困倦', 0),
        self.data.get('注意力差', 0),
        self.data.get('情绪烦躁', 0),
        self.data.get('记忆减退', 0),
        self.data.get('健康问题', 0)
    ]
    
    avg_effect = sum(effect_scores) / len(effect_scores)
    
    if avg_effect >= 4:
        effects.append({
            'type': '严重影响型',
            'level': 5,
            'desc': '熬夜已对您的健康和工作产生严重影响',
            'tags': ['高危', '需立即调整']
        })
    elif avg_effect >= 3:
        effects.append({
            'type': '中度影响型',
            'level': 4,
            'desc': '熬夜已开始影响您的日常表现',
            'tags': ['需重视', '建议调整']
        })
    elif avg_effect >= 2:
        effects.append({
            'type': '轻度影响型',
            'level': 3,
            'desc': '熬夜有初步影响,建议优化作息',
            'tags': ['注意', '可优化']
        })
    
    self.problems.extend(effects)
    return effects

def _calculate_severity(self):
    """计算问题严重程度"""
    if not self.problems:
        self.severity_level = 1
        return
    
    max_level = max([p['level'] for p in self.problems])
    avg_level = sum([p['level'] for p in self.problems]) / len(self.problems)
    
    self.severity_level = (max_level + avg_level) / 2
    return self.severity_level

def get_diagnosis(self):
    """获取诊断结果"""
    self.analyze_problems()
    
    diagnosis = {}
    for i, problem in enumerate(self.problems, 1):
        diagnosis[f'问题{i}'] = {
            'desc': problem['desc'],
            'level': problem['level'],
            'tags': problem['tags']
        }
    
    return diagnosis

def get_summary(self):
    """获取问题摘要"""
    if not self.problems:
        return "您的睡眠状况良好,保持即可"
    
    main_problem = max(self.problems, key=lambda x: x['level'])
    return f"主要问题:{main_problem['type']},严重程度:{main_problem['level']}/5"

可拓变换模块 (transformer.py)

""" 可拓变换模块 运用可拓学的四种基本变换生成解决方案 """

class ExtensionTransformer: """可拓变换生成器"""

def __init__(self, user_data):
    """初始化变换器"""
    self.data = user_data
    self.transformations = []

def generate_transformations(self):
    """生成可拓变换方案"""
    # 清空之前的变换
    self.transformations = []
    
    # 根据用户数据生成变换
    self._add_time_transformations()
    self._add_habit_transformations()
    self._add_environment_transformations()
    self._add_energy_transformations()
    
    return self.transformations

def _add_time_transformations(self):
    """时间变换:调整时间安排"""
    sleep_time = self.data.get('当前睡觉', '00:00')
    wake_time = self.data.get('当前起床', '07:00')
    
    # 计算当前睡眠时长
    try:
        sleep_hour = int(sleep_time.split(':')[0])
        wake_hour = int(wake_time.split(':')[0])
        sleep_duration = (wake_hour + 24 - sleep_hour) % 24
        
        if sleep_duration < 7:
            self.transformations.append({
                'type': '时间变换',
                'name': '睡眠时间优化',
                'description': f'当前睡眠仅{sleep_duration}小时,建议逐步提前睡觉时间,目标7-8小时',
                'action': f'从{sleep_time}提前到{(sleep_hour-1)%24:02d}:{sleep_time.split(":")[1]}',
                'priority': 1
            })
    except:
        pass
    
    # 工作时间调整
    if self.data.get('工作学习', 0) >= 4:
        self.transformations.append({
            'type': '时间变换',
            'name': '工作时间重构',
            'description': '将重要工作安排在上午精力充沛时段',
            'action': '9:00-11:00深度工作,避免晚上加班',
            'priority': 1
        })

def _add_habit_transformations(self):
    """习惯变换:改变行为习惯"""
    transformations = []
    
    # 手机使用习惯
    if self.data.get('娱乐上瘾', 0) >= 3:
        transformations.append({
            'type': '习惯变换',
            'name': '数字宵禁',
            'description': '睡前1小时远离电子设备',
            'action': '设置22:00自动开启勿扰模式',
            'priority': 1
        })
    
    # 拖延习惯
    if self.data.get('拖延习惯', 0) >= 3:
        transformations.append({
            'type': '习惯变换',
            'name': '番茄工作法',
            'description': '用25分钟专注+5分钟休息提高效率',
            'action': '下载番茄钟APP,立即开始',
            'priority': 2
        })
    
    # 睡前习惯
    transformations.append({
        'type': '习惯变换',
        'name': '睡前仪式',
        'description': '建立固定睡前程序,提示身体准备睡眠',
        'action': '阅读10分钟纸质书+感恩日记',
        'priority': 2
    })
    
    self.transformations.extend(transformations)

def _add_environment_transformations(self):
    """环境变换:优化睡眠环境"""
    transformations = []
    
    transformations.append({
        'type': '环境变换',
        'name': '睡眠环境优化',
        'description': '创造理想的睡眠环境',
        'action': '保持卧室温度18-22℃,使用遮光窗帘',
        'priority': 2
    })
    
    transformations.append({
        'type': '环境变换',
        'name': '电子设备隔离',
        'description': '减少电子产品对睡眠的干扰',
        'action': '手机不进入卧室,使用传统闹钟',
        'priority': 1
    })
    
    self.transformations.extend(transformations)

def _add_energy_transformations(self):
    """能量变换:科学提神"""
    transformations = []
    
    # 咖啡因管理
    if self.data.get('咖啡频率', 0) > 2:
        transformations.append({
            'type': '能量变换',
            'name': '咖啡因优化',
            'description': '合理使用咖啡因提神',
            'action': '上午饮用咖啡,下午2点后不喝',
            'priority': 2
        })
    
    # 科学小憩
    if self.data.get('白天困倦', 0) >= 3:
        transformations.append({
            'type': '能量变换',
            'name': '能量小憩',
            'description': '利用短暂休息恢复精力',
            'action': '午后1-3点间,20分钟小睡',
            'priority': 2
        })
    
    # 运动提神
    if self.data.get('运动频率', 0) < 3:
        transformations.append({
            'type': '能量变换',
            'name': '运动激活',
            'description': '用运动提高日间精力',
            'action': '每天10分钟晨间运动或午间散步',
            'priority': 2
        })
    
    self.transformations.extend(transformations)

def get_all_transformations(self):
    """获取所有变换方案"""
    if not self.transformations:
        self.generate_transformations()
    
    # 按优先级排序
    sorted_trans = sorted(self.transformations, 
                        key=lambda x: x['priority'])
    
    return sorted_trans

def get_top_transformations(self, n=3):
    """获取前n个变换方案"""
    all_trans = self.get_all_transformations()
    return all_trans[:n]

建议生成模块 (advisor.py)

""" 建议生成模块 生成个性化、可执行的建议 """

class SleepAdvisor: """睡眠建议生成器"""

def __init__(self, user_data):
    """初始化建议生成器"""
    self.data = user_data
    self.analyzer = SleepAnalyzer(user_data)
    self.transformer = ExtensionTransformer(user_data)

def get_personalized_advice(self):
    """获取个性化建议"""
    # 分析问题
    problems = self.analyzer.analyze_problems()
    severity = self.analyzer.severity_level
    
    # 生成变换方案
    transformations = self.transformer.get_all_transformations()
    
    # 生成建议
    advice = {
        'urgent': self._get_urgent_advice(severity),
        'core': self._get_core_advice(problems),
        'long_term': self._get_long_term_advice(),
        'energy': self._get_energy_advice()
    }
    
    return advice

def _get_urgent_advice(self, severity):
    """获取紧急建议"""
    urgent_advice = []
    
    if severity >= 4:
        urgent_advice.extend([
            "今晚必须12点前上床睡觉",
            "设置手机22:00自动进入勿扰模式",
            "明早无论多困都按闹钟起床",
            "明天安排20分钟午休"
        ])
    elif severity >= 3:
        urgent_advice.extend([
            "今晚提前30分钟睡觉",
            "睡前1小时不碰手机电脑",
            "明早按时起床,不赖床"
        ])
    else:
        urgent_advice.extend([
            "保持现有作息,微调优化",
            "记录未来一周的睡眠时间"
        ])
    
    return urgent_advice

def _get_core_advice(self, problems):
    """获取核心建议"""
    core_advice = []
    problem_types = [p['type'] for p in problems]
    
    # 根据问题类型给出建议
    if '工作压力型' in problem_types:
        core_advice.append("使用'吃青蛙'法则:早上先做最难的工作")
        core_advice.append("设立'工作截止时间':晚9点后不处理工作")
    
    if '娱乐上瘾型' in problem_types:
        core_advice.append("安装屏幕时间监控APP,设置使用限额")
        core_advice.append("用纸质书替代睡前的手机阅读")
    
    if '生理性失眠' in problem_types:
        core_advice.append("练习4-7-8呼吸法:吸气4秒,屏气7秒,呼气8秒")
        core_advice.append("建立'床只用于睡觉'的条件反射")
    
    # 通用建议
    core_advice.append("固定起床时间,周末相差不超过1小时")
    core_advice.append("早晨接触阳光10分钟,重置生物钟")
    
    return core_advice[:3]  # 返回最重要的3条

def _get_long_term_advice(self):
    """获取长期建议"""
    return [
        "建立21天习惯养成计划,每天打卡",
        "每周3次有氧运动,每次30分钟",
        "每月进行一次睡眠质量评估",
        "寻找睡眠伙伴,互相监督鼓励",
        "创建睡前仪式:热水澡+阅读+冥想"
    ]

def _get_energy_advice(self):
    """获取提神建议"""
    energy_advice = [
        "早晨一杯温水,唤醒身体机能",
        "工作间隙做5分钟微运动(深蹲、拉伸)",
        "下午3-4点能量低谷期,适量坚果补充",
        "每小时起身活动2分钟,促进血液循环",
        "保持充足饮水,每小时100-200ml"
    ]
    
    # 根据咖啡习惯调整
    coffee_freq = self.data.get('咖啡频率', 0)
    if coffee_freq > 3:
        energy_advice.append("减少咖啡因依赖,尝试上午饮用,下午改喝水")
    elif coffee_freq == 0:
        energy_advice.append("可尝试上午一杯绿茶,温和提神")
    
    return energy_advice

def get_weekly_plan(self):
    """获取周计划"""
    weekly_plan = {
        'week1': {
            'theme': '习惯观察期',
            'actions': [
                '记录每天睡眠时间',
                '睡前1小时远离电子设备',
                '固定起床时间'
            ]
        },
        'week2': {
            'theme': '逐步调整期',
            'actions': [
                '每天提前15分钟睡觉',
                '建立睡前放松仪式',
                '开始晨间运动'
            ]
        },
        'week3': {
            'theme': '巩固稳定期',
            'actions': [
                '保持7小时睡眠',
                '优化日间精力管理',
                '评估睡眠质量'
            ]
        }
    }
    
    return weekly_plan

可拓学知识点 (knowledge.md)

可拓创新思维核心知识点

一、可拓学基本概念

1.1 物元理论

  • 定义:用有序三元组 R=(事物, 特征, 量值) 描述事物
  • 应用:睡眠问题 = (人, 睡觉时间, 凌晨1点), (人, 疲劳度, 4分)

1.2 发散树思维

  • 核心:从一个问题点发散出多种可能性
  • 睡眠应用: 熬夜 → 工作原因 | 娱乐原因 | 失眠原因 | 习惯原因 工作原因 → 任务多 | 效率低 | 拖延症 娱乐原因 → 手机 | 游戏 | 视频

1.3 相关网分析

  • 方法:分析要素间的相互关系和影响
  • 睡眠相关网: 熬夜 → 疲劳 → 效率低 → 加班 → 更晚睡(恶性循环) 早睡 → 精力好 → 效率高 → 不加班 → 更早睡(良性循环)

二、可拓四大变换

2.1 时间变换

  • 置换变换:改变时间安排
    • 晚睡晚起 → 早睡早起
    • 晚上工作 → 早上工作
  • 增删变换:增加或减少时间元素
    • 增加午休时间
    • 减少熬夜时间

2.2 习惯变换

  • 扩缩变换:扩大或缩小习惯范围
    • 扩大:阅读 → 阅读+冥想
    • 缩小:刷手机2小时 → 刷手机1小时
  • 分解变换:分解复杂习惯
    • 睡前玩手机 = 看视频+玩游戏+刷社交
    • 分别解决每个子习惯

2.3 环境变换

  • 材质变换:改变环境元素
    • 明亮灯光 → 暖色灯光
    • 嘈杂环境 → 安静环境
  • 关系变换:改变人与环境关系
    • 床上玩手机 → 床上不玩手机
    • 卧室工作 → 卧室只睡觉

2.4 能量变换

  • 传导变换:通过中介改变状态
    • 咖啡因 → 提神 → 工作效率
    • 运动 → 内啡肽 → 精力充沛
  • 量变引起质变
    • 微量调整 → 习惯养成 → 生物钟改变

三、可拓创新四步法

3.1 建模

  • 明确问题:熬夜导致白天没精神
  • 建立物元模型:R=(我, 睡觉时间, 01:00), (我, 白天精力, 2分)

3.2 拓展

  • 发散思考:从熬夜发散到工作、娱乐、环境、心理...
  • 建立相关网:分析各要素间关系

3.3 变换

  • 选择变换:哪种变换最适合?
  • 组合变换:时间变换+习惯变换
  • 传导变换:改变A影响B,B影响C

3.4 选择

  • 优度评价:可行性、有效性、可持续性
  • 方案选择:选择最优解决方案
  • 实施计划:制定具体执行步骤

四、睡眠问题可拓分析实例

4.1 问题建模

物元模型:

R1 = (某人, 睡觉时间, 01:00)

R2 = (某人, 起床时间, 07:00)

R3 = (某人, 睡眠时长, 6小时)

R4 = (某人, 日间精力, 2分)

4.2 发散分析

熬夜原因发散树:

熬夜

/|\

/ | \

/ | \

工作 娱乐 失眠

| | |

任务多 手机瘾 焦虑

效率低 游戏瘾 环境吵

拖延症 追剧 咖啡因

4.3 可拓变换方案

方案1:时间置换变换

原:工作到23点 → 睡到07点

新:工作到21点 → 睡到05点 → 早晨工作

方案2:习惯分解变换

原:睡前刷手机2小时

新:刷手机1小时 + 阅读30分钟 + 冥想30分钟

方案3:环境材质变换

原:白炽灯明亮环境

新:暖黄灯温馨环境

4.4 优度评价矩阵

方案可行性有效性可持续性总分
方案1
如果你觉得这个工具好用,欢迎关注我!