梧桐精舍
东湖沙湾论彩 · 少量开放,精准服务

首页 / 数字三工具乐园 / 文章

邻孤传选号器 开发者文档

2026-11-05 16:40:56 · 数字三工具乐园

3DP3邻孤传选号器 - 开发者文档

目录

  1. 项目结构
  2. 技术栈
  3. 代码架构
  4. 核心模块
  5. 开发环境
  6. 代码规范
  7. 扩展开发

项目结构

邻孤传选号器/
├── main.py                      # 主程序文件
├── requirements.txt             # 依赖包列表
├── README.md                    # 项目说明
├── CHANGELOG.md                 # 更新日志
├── 启动程序.bat                 # Windows启动脚本
├── data/                        # 数据文件夹(Excel导出)
├── logs/                        # 日志文件夹
├── registration/                # 注册系统模块
│   ├── __init__.py
│   ├── client_license_validator.py  # 客户端许可证验证
│   ├── ftp_manager.py           # FTP管理器
│   ├── production_registration_core.py  # 注册核心
│   ├── 注册管理工具.py          # 注册管理工具
│   └── keys/                     # 密钥文件夹
├── docs/                        # 文档文件夹
│   ├── 用户手册.md
│   ├── 安装指南.md
│   └── 开发者文档.md
└── .trial_history.json          # 试用历史记录(隐藏文件)

技术栈

核心依赖

  • Python 3.6+:编程语言
  • Tkinter:GUI框架(Python标准库)
  • requests:HTTP请求库
  • pandas:数据处理库
  • openpyxl:Excel文件操作
  • cryptography:加密库(用于许可证验证)

标准库

  • tkinter:图形界面
  • threading:多线程
  • datetime:日期时间处理
  • re:正则表达式
  • os:操作系统接口
  • json:JSON数据处理
  • sys:系统相关参数和函数
  • logging:日志系统
  • functools:函数工具
  • typing:类型提示

代码架构

主要类

LinGuChuanSelector

主应用程序类,负责:

  • GUI界面创建和管理
  • 数据获取和处理
  • 邻孤传分析
  • 推荐号码生成
  • 历史回测
  • 注册系统管理

核心函数

数据获取

  • _fetch_single_data(data_type): 获取单个数据类型的数据
  • _fetch_all_data_thread(): 多线程获取所有数据
  • _parse_data(text, data_type): 解析原始数据文本

邻孤传分析

  • _analyze_lgch_for_number(number): 对指定号码进行邻孤传分析
  • _generate_recommendations_for_lgch(chuan_hao, lin_hao, gu_hao): 生成推荐号码

合尾邻孤传分析(新功能)

  • _calculate_hewei(number): 计算号码的合尾(个位数字之和的个位数)
  • _get_hewei_group(hewei): 获取合尾所属的组(05、16、27、38、49)
  • _is_adjacent_groups(group1, group2): 判断两个合尾组是否相邻
  • _analyze_hewei_lgch(current_hewei, previous_hewei): 分析合尾的邻孤传情况
  • statistics_hewei_lgch(): 统计所有历史数据的合尾邻孤传情况
  • test_hewei_lgch_ratio(): 测试自定义期数的合尾邻孤传出号比例
  • export_hewei_result(): 导出合尾分析结果到Excel文件

回测功能

  • start_backtest_main(): 启动回测主函数
  • backtest_thread(): 回测线程函数
  • period_backtest_thread(): 期号回测线程
  • _calculate_all_backtest_stats(): 计算全量回测统计

注册系统

  • init_registration_system(): 初始化注册系统
  • check_activation_status(): 检查激活状态
  • activate(): 激活软件
  • start_trial(): 开始试用

核心模块

1. 数据获取模块

位置:main.py 中的 _fetch_single_data 和相关函数

功能:

  • 从互联网获取开奖数据
  • 解析原始文本数据
  • 数据验证和清洗

数据源:

DATA_SOURCES = {
    '3D': '[数据源地址已隐藏]
    'P3': '[数据源地址已隐藏]
}

2. 邻孤传分析模块

位置:main.py 中的 _analyze_lgch_for_number 函数

算法:

  • 传号:上期开奖号码
  • 邻号:±1号码(0和9是邻码)
  • 孤码:其他号码

3. 推荐生成模块

位置:main.py 中的 _generate_recommendations_for_lgch 函数

规则:

  • 形态1:1传+2邻
  • 形态2:1传+1邻+1孤

显示优化(v3.1):

  • 每行显示10个号码(原为5个)
  • 完全显示所有生成的号码(不再限制100组)
  • 格式统一,每个号码占3个字符宽度,右对齐

4. 合尾邻孤传分析模块(新功能)

位置:main.py 中的合尾分析相关函数

核心函数:

  • _calculate_hewei(number): 计算合尾值(个位数字之和的个位数)
  • _get_hewei_group(hewei): 获取合尾所属的组
  • _is_adjacent_groups(group1, group2): 判断两个组是否相邻
  • _analyze_hewei_lgch(current_hewei, previous_hewei): 分析合尾的邻孤传情况

分组规则:

合尾分组 = {
    0: '05', 5: '05',
    1: '16', 6: '16',
    2: '27', 7: '27',
    3: '38', 8: '38',
    4: '49', 9: '49'
}

相邻关系:

  • 05 ↔ 49 ↔ 16 ↔ 27 ↔ 38 ↔ 05(循环相邻)

判断逻辑:

  • 传:当前期合尾和上一期合尾属于同一组
  • 邻:当前期合尾和上一期合尾是相邻组
  • 孤:当前期合尾和上一期合尾既不相邻,也不相同

5. 回测模块

位置:main.py 中的回测相关函数

功能:

  • 历史数据回测
  • 期号回测
  • 统计计算

改进(v3.1):

  • 回测过程中显示每期的推荐号码、开奖号码和成功/失败状态
  • 提供更详细的回测反馈
  • 自动跳转到回测结果标签页

6. Excel导出模块

位置:main.py 中的导出相关函数

功能:

  • 回测结果导出
  • 合尾分析结果导出

改进(v3.1):

  • 所有Excel文件自动保存到 data 文件夹
  • 如果data文件夹不存在,程序会自动创建
  • 文件名包含数据类型和日期,方便管理

7. 注册系统模块

位置:registration/ 目录

组件:

  • ClientLicenseValidator:客户端许可证验证
  • FTPManager:FTP服务器管理
  • 注册管理工具

开发环境

环境设置

  1. 安装Python
   # 检查Python版本
   python --version
  1. 创建虚拟环境(推荐)
   python -m venv venv
   source venv/bin/activate  # Linux/Mac
   venv\Scripts\activate     # Windows
  1. 安装依赖
   pip install -r requirements.txt

开发工具

  • IDE:推荐使用 PyCharm、VSCode 或 Cursor
  • 版本控制:Git
  • 调试工具:Python内置调试器(pdb)

代码规范

命名规范

  • 类名:大驼峰(PascalCase),如 LinGuChuanSelector
  • 函数名:小写下划线(snake_case),如 _fetch_single_data
  • 变量名:小写下划线(snake_case),如 latest_data
  • 常量名:大写下划线(UPPER_SNAKE_CASE),如 DATA_SOURCES

代码风格

  • 遵循 PEP 8 代码风格指南
  • 使用4个空格缩进
  • 行长度不超过120字符
  • 函数和类添加文档字符串

注释规范

def function_name(param1, param2):
    """
    函数功能说明
    
    Args:
        param1: 参数1说明
        param2: 参数2说明
    
    Returns:
        返回值说明
    """
    pass

日志规范

使用 logging 模块记录日志:

import logging

logger = logging.getLogger(__name__)

logger.info("信息日志")
logger.warning("警告日志")
logger.error("错误日志", exc_info=True)

扩展开发

添加新功能

  1. 在GUI中添加新控件
  • 在 create_widgets() 方法中添加
  • 绑定事件处理函数
  • 使用 @require_activation 装饰器保护需要激活的功能
  1. 添加新的分析方法
  • 创建新的分析函数
  • 在GUI中调用
  • 使用 self.right_notebook.select() 自动跳转到结果标签页
  1. 添加新的数据源
  • 在 DATA_SOURCES 中添加
  • 实现数据解析逻辑
  1. 添加新的分析类型(参考合尾分析实现)
  • 创建分析函数(如 _calculate_xxx, _analyze_xxx)
  • 创建统计函数(如 statistics_xxx)
  • 创建测试函数(如 test_xxx_ratio)
  • 创建导出函数(如 export_xxx_result)
  • 在GUI中添加相应的按钮和输入框

添加新彩种

  1. 更新数据源
   DATA_SOURCES = {
       '3D': '[数据源地址已隐藏]
       'P3': '[数据源地址已隐藏]
       'P5': '[数据源地址已隐藏]  # 新彩种
   }
  1. 更新数据类型选择
  • 在GUI中添加新的选项
  • 更新数据处理逻辑

自定义选号规则

  1. 修改推荐生成函数
   def _generate_recommendations_for_lgch(self, chuan_hao, lin_hao, gu_hao):
       # 添加自定义规则
       pass
  1. 添加新的形态
  • 在 _generate_recommendations_for_lgch 中添加新的组合逻辑

调试技巧

日志调试

查看日志文件:

# Windows
type logs\app.log

# Linux/Mac
cat logs/app.log

断点调试

使用 pdb 调试器:

import pdb
pdb.set_trace()

测试数据

使用测试数据验证功能:

test_number = "298"
chuan_hao, lin_hao, gu_hao = self._analyze_lgch_for_number(test_number)
print(f"传号: {chuan_hao}, 邻号: {lin_hao}, 孤码: {gu_hao}")

性能优化

多线程

数据获取和回测使用多线程,避免GUI冻结:

threading.Thread(target=function, daemon=True).start()

UI更新

批量更新UI,减少频繁的 root.after() 调用:

# 批量更新
updates = []
# ... 收集更新
for update in updates:
    self.root.after(0, update)

数据处理

  • 使用列表推导式提高效率
  • 避免重复计算
  • 缓存常用数据

贡献指南

提交代码

  1. Fork项目
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建Pull Request

代码审查

  • 确保代码符合规范
  • 添加必要的注释
  • 更新相关文档
  • 测试新功能

许可证

版权所有:© 2025 东湖沙湾论彩彩迷群


维护者:摸球校尉陈八七
组织:东湖沙湾论彩彩迷群

← 返回数字三工具乐园文章列表

同栏目其它文章