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):
|
def format_te_ma_result(weights, period=None, budget=15, qi_week=None, qi_day=None, qi_nq=None):
|
||||||
"""输出特码候选 + 推荐分配
|
"""输出特码候选 + 推荐分配
|
||||||
|
|
||||||
period: 不传则自动取 v_xg.json Qi 期
|
period: 要分析哪期 (None=自动取 v_xg.json Qi)
|
||||||
qi_week / qi_day: 配套开彩日 (不传取 ?)
|
qi_week / qi_day / qi_nq: v_xg.json 字段 (None=自动取)
|
||||||
qi_nq: Nq 期号 (再下次)
|
|
||||||
"""
|
"""
|
||||||
# 自动取 Qi + 挂牌期信息
|
# 一次性查 v_xg.json 拿所有字段
|
||||||
if period is None or qi_week is None or qi_day is None or qi_nq is None:
|
try:
|
||||||
try:
|
import urllib.request
|
||||||
import urllib.request
|
req = urllib.request.Request('https://btc.tktk.app/data/v_xg.json',
|
||||||
req = urllib.request.Request('https://btc.tktk.app/data/v_xg.json',
|
headers={'User-Agent': 'Mozilla/5.0'})
|
||||||
headers={'User-Agent': 'Mozilla/5.0'})
|
with urllib.request.urlopen(req, timeout=10) as r:
|
||||||
with urllib.request.urlopen(req, timeout=10) as r:
|
v = json.loads(r.read().decode('utf-8'))
|
||||||
v = json.loads(r.read().decode('utf-8'))
|
qi_xg = v.get('Qi', '???')
|
||||||
if period is None:
|
nq_xg = v.get('Nq', '???')
|
||||||
period = v.get('Qi', '???')
|
week_xg = v.get('Week', '?')
|
||||||
if qi_week is None:
|
day_xg = v.get('Day', '?')
|
||||||
qi_week = v.get('Week', '?')
|
except Exception:
|
||||||
if qi_day is None:
|
qi_xg = nq_xg = '???'
|
||||||
qi_day = v.get('Day', '?')
|
week_xg = day_xg = '?'
|
||||||
if qi_nq is None:
|
|
||||||
qi_nq = v.get('Nq', '?')
|
# 如果用户没传 period, 默认用 Qi
|
||||||
except Exception:
|
if period is None:
|
||||||
if period is None:
|
period = qi_xg
|
||||||
period = '???'
|
if qi_week is None:
|
||||||
if qi_week is None:
|
qi_week = week_xg
|
||||||
qi_week = '?'
|
if qi_day is None:
|
||||||
if qi_day is None:
|
qi_day = day_xg
|
||||||
qi_day = '?'
|
if qi_nq is None:
|
||||||
if qi_nq is None:
|
qi_nq = nq_xg
|
||||||
qi_nq = '?'
|
|
||||||
|
|
||||||
L = []
|
L = []
|
||||||
L.append("=" * 62)
|
L.append("=" * 62)
|
||||||
@@ -168,9 +166,19 @@ def format_te_ma_result(weights, period=None, budget=15, qi_week=None, qi_day=No
|
|||||||
# Nq = 未开下期
|
# Nq = 未开下期
|
||||||
# Week/Day = Nq 期开彩日
|
# Week/Day = Nq 期开彩日
|
||||||
# Data.1-7 = Qi-2 期已开号码 (不是 Qi 期)
|
# Data.1-7 = Qi-2 期已开号码 (不是 Qi 期)
|
||||||
# 所以 Qi 期的开彩日要推算 (-3 天 from Nq 期)
|
# 如果 period == Nq 期, Week/Day 就是 period 开彩日 (直接用)
|
||||||
L.append(f"v_xg.json Qi={period} (最新已开, 刚开) | Nq={qi_nq} (未开下期)")
|
# 如果 period == Qi 期, Week/Day 是 Nq 期开彩日 (要 -3 天推算 Qi 期)
|
||||||
L.append(f"Qi 期推测开彩日: {qi_week} Day={qi_day} 之前 1 个开彩日 (-3 天)")
|
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("=" * 62)
|
||||||
L.append("")
|
L.append("")
|
||||||
L.append("📋 挂牌资料源:")
|
L.append("📋 挂牌资料源:")
|
||||||
@@ -247,13 +255,13 @@ if __name__ == '__main__':
|
|||||||
period = '082'
|
period = '082'
|
||||||
weights = get_te_ma_candidates(period)
|
weights = get_te_ma_candidates(period)
|
||||||
# 自动取 v_xg.json Qi + Week + Day + Nq 一次, 传所有
|
# 自动取 v_xg.json Qi + Week + Day + Nq 一次, 传所有
|
||||||
|
# (period 保留用户 CLI 传的, 不要被 Qi 覆盖 — Qi 只用来推算开彩日)
|
||||||
try:
|
try:
|
||||||
import urllib.request
|
import urllib.request
|
||||||
req = urllib.request.Request('https://btc.tktk.app/data/v_xg.json',
|
req = urllib.request.Request('https://btc.tktk.app/data/v_xg.json',
|
||||||
headers={'User-Agent': 'Mozilla/5.0'})
|
headers={'User-Agent': 'Mozilla/5.0'})
|
||||||
with urllib.request.urlopen(req, timeout=10) as r:
|
with urllib.request.urlopen(req, timeout=10) as r:
|
||||||
v = json.loads(r.read().decode('utf-8'))
|
v = json.loads(r.read().decode('utf-8'))
|
||||||
period = v.get('Qi', period)
|
|
||||||
qi_week = v.get('Week', '?')
|
qi_week = v.get('Week', '?')
|
||||||
qi_day = v.get('Day', '?')
|
qi_day = v.get('Day', '?')
|
||||||
qi_nq = v.get('Nq', '?')
|
qi_nq = v.get('Nq', '?')
|
||||||
|
|||||||
Reference in New Issue
Block a user