py_scripts/lottery/pls.py

88 lines
2.9 KiB
Python

import numpy as np
import pandas as pd
a = np.arange(1000)
l = set([ "".join(sorted(f"{i:03d}")) for i in a ])
# 跨度
span_list = [int(i[2]) - int(i[0]) for i in l]
span_df = pd.value_counts(span_list)
print(span_df.to_dict())
print((220/span_df).to_dict())
f1 = lambda number: True if '8' in number or '5' in number else False
f2 = lambda number: True if sum(map(int, number)) in [10, 13, 14, 16, 17] else False
arr1 = list(filter(f1, l))
# print(len(arr1))
# print(arr1)
arr2 = list(filter(f2, arr1))
# print(len(arr2))
# print(arr2)
sum_list = [ sum(map(int, list(i))) for i in l]
sum_df = pd.value_counts(sum_list)
# print(sum_df.to_dict())
print((220/sum_df).to_dict())
# 组三
group3 = [ i for i in l if len(set(i)) == 2]
sum_group3_dict = {i: [] for i in np.arange(28)}
for i in group3:
sum_group3_dict[sum(map(int, list(i)))].append(i)
# 组六
group6 = [ i for i in l if len(set(i)) == 3]
sum_group6_dict = {i: [] for i in np.arange(28)}
for i in group6:
sum_group6_dict[sum(map(int, list(i)))].append(i)
# for i in sum_group3_dict.keys():
# f3 = lambda number: True if '7' not in number else False
# print(i, list(filter(f3, sum_group3_dict[i])))
# print(sum_group3_dict)
# sum_group3 = [ sum(map(int, list(i))) for i in group3]
# print(pd.value_counts(sum_group3).to_dict())
# for i in range(5, 20):
# _result = [item for item in sum_group3_dict[i]]
f1 = lambda number: len([i for i in number if int(i) %2 == 0]) != 0
f2 = lambda number: len([i for i in number if int(i) %2 == 1]) != 0
f3 = lambda n: True if int(n[1]) - int(n[0]) == 1 or int(n[2]) - int(n[1]) == 1 else False
f4 = lambda number: True if 'a' not in number else False
f5 = lambda number: True if '4' in number or '6' in number else False
f6 = lambda number: True if len(set('279').difference(number)) == 2 else False
arr = list(filter(f5, group3))
print(arr)
print(len(arr))
for i in sum_group6_dict.keys():
if i in range(11, 21):
# result = sum_group6_dict[i] + sum_group3_dict[i]
result = sum_group3_dict[i]
print("-"*15 + "组三" + "-"*15)
print(i, list(sorted(filter(f4, result))))
result = sum_group6_dict[i]
print("-"*15 + "组六" + "-"*15)
print(i, list(sorted(filter(f4, result))))
print()
# 连号
result_1 = []
# 大大小
result_2 = []
for i in a:
item = "".join(sorted(f"{i:03d}"))
if int(item[2]) - int(item[1]) == 1 or int(item[1]) - int(item[0]) == 1:
result_1.append(i)
item_2 = f"{i:03d}"
if int(item_2[0]) > 4 and int(item_2[1]) > 4 and int(item_2[2]) <= 4:
result_2.append(i)
f = lambda number: True if '6' in f"{number:03d}" else False
f = lambda number: True if '5' in f"{number:03d}" or '1' in f"{number:03d}" or '9' in f"{number:03d}" else False
arr = set([ "".join(sorted(f"{i:03d}")) for i in filter(f, result_1)])
# print(list(arr))
# print(len(arr))
# print(len(result_2))
# print(result_2[:20])
# 299669