Python代码:按和值奇偶比对号码进行组合

大乐透常见和值
不少朋友在选定号码以后,会按照一定的和值来组号,比如大乐透常见和值有62 63 72 73 74 81 108 116等我们不用固定在一个数上,我们可以给定一个区间比如50-90,80-120等,
加上这样的限制条件以后,总的组合数就大幅度下降了。
在比如我们看奇数比偶数多一个,奇偶比3:2,作为另外一个限制条件等
其他的还有AC值,号码遗漏值,尾数,跨度,概率等。
示例代码:
import itertools import random # 定义号码列表 numbers = [31, 1, 16, 17, 34, 5, 12, 22, 4, 28, 27, 7, 6, 18, 2, 15, 13, 14, 19, 33, 29, 26, 9, 3, 8] # 生成所有可能的5个数的组合 all_combinations = list(itertools.combinations(numbers, 5)) # 筛选符合条件的组合:和值在88到108之间 valid_combinations = [ combo for combo in all_combinations if 88 <= sum(combo) <= 108 ] # 进一步筛选:奇偶比为3:2(3个奇数,2个偶数) final_combinations = [ combo for combo in valid_combinations if len([num for num in combo if num % 2 != 0]) == 3 and len([num for num in combo if num % 2 == 0]) == 2 ] # 随机选择10组,如果final_combinations少于10组,就全选 selected_groups = random.sample(final_combinations, min(10, len(final_combinations))) # 输出结果 for i, group in enumerate(selected_groups, start=1): print(f"组 {i}: {group}, 总和值: {sum(group)}")示例数据为大乐透第一套号码排列

江东旭侯Python组号代码
正在运行程序...
组 1: (31, 1, 12, 22, 33), 总和值: 99
组 2: (16, 17, 27, 26, 9), 总和值: 95
组 3: (31, 16, 18, 33, 3), 总和值: 101
组 4: (17, 14, 29, 26, 9), 总和值: 95
组 5: (17, 12, 28, 13, 33), 总和值: 103
组 6: (31, 22, 28, 15, 9), 总和值: 105
组 7: (28, 27, 6, 33, 3), 总和值: 97
组 8: (34, 27, 7, 18, 13), 总和值: 99
组 9: (31, 22, 18, 19, 3), 总和值: 93
组 10: (17, 34, 13, 26, 9), 总和值: 99
程序运行结束。

大乐透组号
如果需要按照号码概率可添加以下内容到代码中间:
# 定义前几个号码的权重,高频的号码权重高 weights = { 31: 10, # 比如31出现频率高 1: 10, 16: 10, 17: 10, 34: 10, 5: 5, 12: 5, 22: 5, 4: 2, 28: 2, 27: 2, 7: 2, 6: 2, 18: 2, 2: 1, 15: 1, 13: 1, 14: 1, 19: 1, 33: 1, 29: 1, 26: 1, 9: 1, 3: 1, 8: 1, } # 根据权重生成号码列表 weighted_numbers = [] for number in numbers: weighted_numbers.extend([number] * weights[number])