py_scripts/pls.py

51 lines
1.7 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_group_dict = {i: [] for i in np.arange(28)}
for i in group3:
sum_group_dict[sum(map(int, list(i)))].append(i)
for i in sum_group_dict.keys():
f3 = lambda number: True if '3' not in number else False
print(i, list(filter(f3, sum_group_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_group_dict[i]]
# 组六
group6 = [ i for i in l if len(set(i)) == 3]
print(len(group6)/220)
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_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 '2' not in number else False
f4 = lambda number: True if max(map(int, number)) - min(map(int, number)) != 2 else False
f5 = lambda number: True if '3' not in number else False
print(i, list(filter(f5, sum_group6_dict[i])))
# print(i, list(filter(f3, filter(f2, filter(f1, sum_group_dict[i])))))
# print(i, sum_group_dict[i])
# print(pd.value_counts(sum_group3).to_dict())
# 连号
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)