import random def random_reds(): """生成一组符合区间、奇偶、大小、和值、连号条件的红球""" for _ in range(5000): # 最多尝试5000次 # 生成初步6个不重复号码(1-33) nums = sorted(random.sample(range(1, 34), 6)) # 检查区间分布(2:2:2 或 2:3:1) intervals = [sum(1 for n in nums if n <= 11), sum(1 for n in nums if 12 <= n <= 22), sum(1 for n in nums if n >= 23)] if sorted(intervals) not in ([1,2,3], [2,2,2]): continue # 检查奇偶比(3:3 或 4:2) odd = sum(1 for n in nums if n % 2 == 1) if odd not in (3, 4): continue # 检查大小比(小号1-16,大号17-33,3:3 或 4:2) small = sum(1 for n in nums if n <= 16) if small not in (3, 4): continue # 检查和值 if not (80 <= sum(nums) <= 139): continue # 检查是否有连号 has_consecutive = any(nums[i+1] - nums[i] == 1 for i in range(5)) if not has_consecutive: continue return nums # 极端情况:如果一直失败,返回一个保底的平衡组合(实际几乎不会触发) return [1, 7, 13, 19, 25, 31] # 生成一注 red = random_reds() blue = random.randint(1, 16) print("推荐号码(红球 + 蓝球):") print(f"红球:{' '.join(f'{n:02d}' for n in red)}") print(f"蓝球:{blue:02d}") print("\n注:本程序基于区间2:2:2或2:3:1、奇偶3:3或4:2、大小3:3或4:2、和值80-139、至少一组连号等规律随机生成。彩票随机,仅供参考。")