lottery_特码: format_te_ma_result 改 period 智能判别 Qi/Nq
bug: CLI 传 period=084 但 main() 把 period 改成 v_xg.json Qi=083 → '084 期特码分析' 仍显示 '083 期' (CLI 失效) 修: 1. main() 不再覆盖 period (保留用户 CLI 传的) 2. format_te_ma_result 智能判别: - period == Nq: Week/Day 就是 period 开彩日 (直接用) - period == Qi: Week/Day 是 Nq 期开彩日 (-3 天推算 Qi 期) - period 是其他期: 不推算 验证: - CLI 084 → '084 期特码分析' + '本期 084 期开彩日' (8/4 周二) - CLI 不传 → '083 期特码分析' + '本期 (083) 开彩日: Nq -3 天' (8/1 周六推算)
This commit is contained in:
@@ -130,35 +130,33 @@ def get_te_ma_candidates(period='082'):
|
||||
def format_te_ma_result(weights, period=None, budget=15, qi_week=None, qi_day=None, qi_nq=None):
|
||||
"""输出特码候选 + 推荐分配
|
||||
|
||||
period: 不传则自动取 v_xg.json Qi 期
|
||||
qi_week / qi_day: 配套开彩日 (不传取 ?)
|
||||
qi_nq: Nq 期号 (再下次)
|
||||
period: 要分析哪期 (None=自动取 v_xg.json Qi)
|
||||
qi_week / qi_day / qi_nq: v_xg.json 字段 (None=自动取)
|
||||
"""
|
||||
# 自动取 Qi + 挂牌期信息
|
||||
if period is None or qi_week is None or qi_day is None or qi_nq is None:
|
||||
try:
|
||||
import urllib.request
|
||||
req = urllib.request.Request('https://btc.tktk.app/data/v_xg.json',
|
||||
headers={'User-Agent': 'Mozilla/5.0'})
|
||||
with urllib.request.urlopen(req, timeout=10) as r:
|
||||
v = json.loads(r.read().decode('utf-8'))
|
||||
if period is None:
|
||||
period = v.get('Qi', '???')
|
||||
if qi_week is None:
|
||||
qi_week = v.get('Week', '?')
|
||||
if qi_day is None:
|
||||
qi_day = v.get('Day', '?')
|
||||
if qi_nq is None:
|
||||
qi_nq = v.get('Nq', '?')
|
||||
except Exception:
|
||||
if period is None:
|
||||
period = '???'
|
||||
if qi_week is None:
|
||||
qi_week = '?'
|
||||
if qi_day is None:
|
||||
qi_day = '?'
|
||||
if qi_nq is None:
|
||||
qi_nq = '?'
|
||||
# 一次性查 v_xg.json 拿所有字段
|
||||
try:
|
||||
import urllib.request
|
||||
req = urllib.request.Request('https://btc.tktk.app/data/v_xg.json',
|
||||
headers={'User-Agent': 'Mozilla/5.0'})
|
||||
with urllib.request.urlopen(req, timeout=10) as r:
|
||||
v = json.loads(r.read().decode('utf-8'))
|
||||
qi_xg = v.get('Qi', '???')
|
||||
nq_xg = v.get('Nq', '???')
|
||||
week_xg = v.get('Week', '?')
|
||||
day_xg = v.get('Day', '?')
|
||||
except Exception:
|
||||
qi_xg = nq_xg = '???'
|
||||
week_xg = day_xg = '?'
|
||||
|
||||
# 如果用户没传 period, 默认用 Qi
|
||||
if period is None:
|
||||
period = qi_xg
|
||||
if qi_week is None:
|
||||
qi_week = week_xg
|
||||
if qi_day is None:
|
||||
qi_day = day_xg
|
||||
if qi_nq is None:
|
||||
qi_nq = nq_xg
|
||||
|
||||
L = []
|
||||
L.append("=" * 62)
|
||||
@@ -168,9 +166,19 @@ def format_te_ma_result(weights, period=None, budget=15, qi_week=None, qi_day=No
|
||||
# Nq = 未开下期
|
||||
# Week/Day = Nq 期开彩日
|
||||
# Data.1-7 = Qi-2 期已开号码 (不是 Qi 期)
|
||||
# 所以 Qi 期的开彩日要推算 (-3 天 from Nq 期)
|
||||
L.append(f"v_xg.json Qi={period} (最新已开, 刚开) | Nq={qi_nq} (未开下期)")
|
||||
L.append(f"Qi 期推测开彩日: {qi_week} Day={qi_day} 之前 1 个开彩日 (-3 天)")
|
||||
# 如果 period == Nq 期, Week/Day 就是 period 开彩日 (直接用)
|
||||
# 如果 period == Qi 期, Week/Day 是 Nq 期开彩日 (要 -3 天推算 Qi 期)
|
||||
if str(period) == str(qi_nq):
|
||||
# period 是 Nq 期 (未开), Week/Day 直接是 period 开彩日
|
||||
L.append(f"v_xg.json: Qi={qi_xg} (最新已开) | Nq={nq_xg} (未开下期) | Week={week_xg} (Day={day_xg}) = 本期 {period} 期开彩日")
|
||||
elif str(period) == str(qi_xg):
|
||||
# period 是 Qi 期 (已开), Week/Day 是 Nq 期, 要 -3 天推算 Qi 期开彩日
|
||||
L.append(f"v_xg.json: Qi={qi_xg} (最新已开) | Nq={nq_xg} (未开下期) | Week={week_xg} (Day={day_xg}) = Nq 期开彩日")
|
||||
L.append(f"本期 ({period}) 开彩日: Nq 期开彩日 ({qi_week} Day={qi_day}) 之前 1 个开彩日 (-3 天)")
|
||||
else:
|
||||
# period 是其他期 (Cli 传用户指定)
|
||||
L.append(f"v_xg.json: Qi={qi_xg} (最新已开) | Nq={nq_xg} (未开下期) | Week={week_xg} (Day={day_xg}) = Nq 期开彩日")
|
||||
L.append(f"本期 ({period}) 开彩日: 用户指定期 (非 Qi/Nq), 不推算")
|
||||
L.append("=" * 62)
|
||||
L.append("")
|
||||
L.append("📋 挂牌资料源:")
|
||||
@@ -247,13 +255,13 @@ if __name__ == '__main__':
|
||||
period = '082'
|
||||
weights = get_te_ma_candidates(period)
|
||||
# 自动取 v_xg.json Qi + Week + Day + Nq 一次, 传所有
|
||||
# (period 保留用户 CLI 传的, 不要被 Qi 覆盖 — Qi 只用来推算开彩日)
|
||||
try:
|
||||
import urllib.request
|
||||
req = urllib.request.Request('https://btc.tktk.app/data/v_xg.json',
|
||||
headers={'User-Agent': 'Mozilla/5.0'})
|
||||
with urllib.request.urlopen(req, timeout=10) as r:
|
||||
v = json.loads(r.read().decode('utf-8'))
|
||||
period = v.get('Qi', period)
|
||||
qi_week = v.get('Week', '?')
|
||||
qi_day = v.get('Day', '?')
|
||||
qi_nq = v.get('Nq', '?')
|
||||
|
||||
Reference in New Issue
Block a user