로또 삽질 시리즈~~
파이썬을 이용해서 확률 높은 로또번호를 추출하기 위해 노력중입니다.
3주째 하고 있는데 아직 실적이 좋지 않네요 ㅜㅜ
기존 3등당첨번호 비교로 리소스 사용량이 매우 큽니다. ㅜㅜ
3등 번호 비교기능 제거로 조금 가벼워진 파일 입니다.
1. 첫번째 추출 방법
import pandas as pd
import itertools
import random
allNum = list(range(1,46))
#1~45까지의 리스트 생성
p=0
m=1
while p<50:
arr = sorted(random.sample(allNum,12))
#45개볼중 12개 무작위로 선택
#print(arr)
a = list(itertools.combinations(arr,6))
#선택한 12개볼로의 모든 결과값 도출
l = len(arr)
k = len(a)
#print(l,k) #12개선택, 924가지 경우의
#반복문 시작 (12개 선택 후 아래 조건에 맞는 값만 출력하고
#다시 12개선택 조건에 맞는값만 출력 반복 총 3000개 게임 출력 (+알파 추가 출력됨)
i=0
j=1
while i<k:
b=sorted(list(a[i]))
sum=b[0]+b[1]+b[2]+b[3]+b[4]+b[5]
if(b[0]<15 and b[5]>23):
#첫숫자가 15보다 작고, 마지막 숫자가 25보다 큰 경우
if(sum>98 and sum<178):
# 6개의 숫자합이 118보다 크고 158보다 작은 경우(범위 조정)
print(p,m,j,i+1,sum,b[0],b[1],b[2],b[3],b[4],b[5])
m=m+1
j=j+1
if(m>3000):
break
i=i+1
p=p+1
총 3,000개의 번호를 추출한 후 과거 1,2,3등 결과와 비교.
기존 1등 당첨번호 1개, 기존 2등당첨번호 8개, 기존 3등 당첨번호 72개 포함됨
# 각 조건 설명
1) 첫자리 숫자는 15 이하의 값으로 선택하고 6번재 볼은 25보다 큰 볼을 선택
(기존 당첨번호 출현 빈도표 참고 - 아래)
2) 추출 번호 6개의 값은 98보다 크고 178보다 작은 결과만 선택
(높은 빈도의 범위로 임의 지정하여 선택 - 아래 숫자합 분포 그래프 참고)
2. 두번째 추출방법
첫번재 추출 방법의 조건 1),2) 동일하게 적용
3. 추출 번호의 1,2,3번째 수의 합과 4,5,6번째 수의 비 지정 추출 (1.4보다 크고 5.5보다 작은 결과 도출)
- 아래 그래프 참고
import pandas as pd
import itertools
import random
#df = pd.read_csv("record-rotto.csv")
allNum = list(range(1,46))
a = list(itertools.combinations(allNum,6))
selNum = list(range(1,8145061))
#로또 총 경우의 수 리스트생성 (8,145,060 가지)
s = random.sample(selNum,25000)
#임의의 추출결과 25000개 추출
i = len(a)
#print(i)
#print(s)
j=0
k=1
while j<25000:
b=sorted(list(a[s[j]]))
sum=b[0]+b[1]+b[2]+b[3]+b[4]+b[5]
subsum01 = b[0]+b[1]+b[2]
subsum02 = b[3]+b[4]+b[5]
sumRatio = subsum02/subsum01
#큰수 작은수 합의 비
if(b[0]<15 and b[5]>25):
#첫숫자가 15보다 작고, 마지막 숫자가 25보다 큰 경우
if(sum>92 and sum<180):
# 6개의 숫자합이 92보다 크고 180보다 작은 경우
if(sumRatio>1.4 and sumRatio<5.5):
print(k,j,sum,b[0],b[1],b[2],b[3],b[4],b[5],s[j])
k=k+1
if(k>7000):
break
j=j+1
기존 1등 당첨번호 1개, 2등 당첨번호 7개, 3등 당첨결과 134개 포함 총 7,000개의 결과
### 마지막으로 지금까지 당첨 결과 결과입니다. ㅜㅜ
1,2,3 등 결과 도출 실패 ㅠㅠ
매회 로직 추가 및 조건 조정으로 1등 당첨번호를 도출할 수 있도록 계속 삽질하겠습니다.
즐거운 하루 보내세요 ^^