py_scripts/pls.py

51 lines
1.6 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 ])
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)
# 组三
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]]
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 number: True if max(map(int, number)) - min(map(int, number)) != 2 else False
f4 = lambda number: True if '3' not in number else False
f5 = lambda number: True if 'a' not in number else False
if i in [12, 17]:
result = sum_group6_dict[i] + sum_group3_dict[i]
print(i, list(filter(f1, result)))
# print(i, sum_group3_dict[i])
# 连号
result = []
for i in l:
a = np.array(list(map(int, i)))
if int(np.max(a) - np.median(a)) == 1 or int(np.median(a) - np.min(a)) == 1:
result.append(i)