From 8a707eb73938a43cb726625ac69d38ed88ad0760 Mon Sep 17 00:00:00 2001 From: chenwj113 Date: Mon, 10 Jul 2023 16:54:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=8E=92=E5=88=97?= =?UTF-8?q?=E4=B8=89=E5=92=8C=E6=8E=92=E5=88=97=E4=BA=94=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lottery/pls.py | 35 ++++++++++++++++++++++------------- lottery/plw.py | 7 +++++++ 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/lottery/pls.py b/lottery/pls.py index ce27d3c..8d81797 100644 --- a/lottery/pls.py +++ b/lottery/pls.py @@ -5,15 +5,21 @@ import pandas as pd a = np.arange(1000) l = set([ "".join(sorted(f"{i:03d}")) for i in a ]) -f1 = lambda number: True if '0' in number or '3' in number else False +# 跨度 +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) +# print(len(arr2)) +# print(arr2) sum_list = [ sum(map(int, list(i))) for i in l] sum_df = pd.value_counts(sum_list) @@ -22,6 +28,7 @@ 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) @@ -39,22 +46,24 @@ for i in group6: # 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(): - 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 '3' in number else False - f5 = lambda number: True if '2' in number or '5' in number or '7' in number else False - f6 = lambda number: True if len(set('279').difference(number)) == 2 else False - if i in [12, 13, 14, 15, 16, 17]: + 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(filter(f4, result))) + print(i, list(sorted(filter(f4, result)))) result = sum_group6_dict[i] print("-"*15 + "组六" + "-"*15) - print(i, list(filter(f4, result))) + print(i, list(sorted(filter(f4, result)))) print() diff --git a/lottery/plw.py b/lottery/plw.py index 078e781..fecc51b 100644 --- a/lottery/plw.py +++ b/lottery/plw.py @@ -2,6 +2,13 @@ import numpy as np import pandas as pd import math +from sqlalchemy import create_engine + +engine = create_engine("mysql+pymysql://test:123456@localhost/lottery?charset=utf8") +conn = engine.connect() +sql = """SELECT draw_issue, draw_code, sum_num FROM plw ORDER BY id DESC LIMIT 10""" +df = pd.read_sql(sql, conn) +print(df) a = np.arange(100000) l = set([ f"{i:05d}" for i in a ])