-
로또 최근 회차 자동으로 알아내는 파이썬 코드IT 2023. 9. 23. 23:52반응형
로또 당첨 번호는 api를 통해서 알아낼 수 있는데, 최근 추첨 회차 정보를 스스로 찾아내는 코드를 만들어 보았다.
조회하는 기간을 api에 알려줘야 하기 때문에, 가장 최근 회차를 알아내어 다시 api에다가 변수값으로 입력하게 할 수 있다.
import requests, random, math if __name__ == "__main__": def findRecentLottoDraw(start): current_draw = start a = 1 # 반복 단계를 나타내는 변수 m = 0 # 이전 회차 기억 변수 초기값 while True: # API 요청 URL 생성 url = f"https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo={current_draw}" n = current_draw # 이전 회차 기억 # API 요청 response = requests.get(url) data = response.json() # API 응답 결과 확인 if data.get("returnValue") == "success": # "success"인 경우, 현재 값과 current_draw + 1 회차의 결과 비교 url_next = f"https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo={current_draw + 1}" response_next = requests.get(url_next) data_next = response_next.json() # current_draw + 1 회차의 결과가 "fail"이면 최근 회차로 결정 if data_next.get("returnValue") == "fail": return current_draw # 증가폭, 다음 회차 계산 delta = abs(current_draw - m) * 2 current_draw += delta b = '+' elif data.get("returnValue") == "fail": # "fail"인 경우, 현재 값과 current_draw - 1 회차의 결과 비교 url_next = f"https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo={current_draw - 1}" response_next = requests.get(url_next) data_next = response_next.json() # current_draw - 1 회차의 결과가 "success"이면 최근 회차로 결정 if data_next.get("returnValue") == "success": return current_draw-1 # 증가폭, 다음 회차 계산 delta = math.ceil(abs(current_draw - m) / 2) current_draw -= delta b = '-' else: # "success" 또는 "fail" 외의 결과인 경우, 종료 return None a += 1 # 반복 단계 증가 m = n print('try : ', a, ' 증감 : ', b, delta, ' 현재값 : ', current_draw) #from lotto_find_last_round import findRecentLottoDraw #import random # 1부터 10000 사이의 랜덤 자연수 생성하여 초기값 변수에 저장 start = random.randint(1, 10000) print('초기값 : ', start, '\n') # 최근 로또 추첨 회차 찾기 recent_draw_no = findRecentLottoDraw(start) if recent_draw_no is not None: print(f"\n최근 로또 복권 회차: {recent_draw_no}회차") else: print("\n최근 로또 회차를 찾을 수 없습니다.")
요렇게 몇 번 돌려 보면 랜덤 초기값을 가지고 최근 회차를 찾아내는데, 보통 20번 내외로 시도해서 정확히 찾아 낼 수 있다.
초기값 : 7458 try : 2 증감 : - 3729 현재값 : 3729 try : 3 증감 : - 1865 현재값 : 1864 try : 4 증감 : - 933 현재값 : 931 try : 5 증감 : + 1866 현재값 : 2797 try : 6 증감 : - 933 현재값 : 1864 try : 7 증감 : - 467 현재값 : 1397 try : 8 증감 : - 234 현재값 : 1163 try : 9 증감 : - 117 현재값 : 1046 try : 10 증감 : + 234 현재값 : 1280 try : 11 증감 : - 117 현재값 : 1163 try : 12 증감 : - 59 현재값 : 1104 try : 13 증감 : - 30 현재값 : 1074 try : 14 증감 : + 60 현재값 : 1134 try : 15 증감 : - 30 현재값 : 1104 try : 16 증감 : - 15 현재값 : 1089 try : 17 증감 : - 8 현재값 : 1081 try : 18 증감 : + 16 현재값 : 1097 try : 19 증감 : - 8 현재값 : 1089 try : 20 증감 : - 4 현재값 : 1085 try : 21 증감 : + 8 현재값 : 1093 try : 22 증감 : - 4 현재값 : 1089 try : 23 증감 : - 2 현재값 : 1087 최근 로또 복권 회차: 1086회차
728x90반응형'IT' 카테고리의 다른 글
Gemini Advanced를 2개월간 무료로 사용해 보세요 (0) 2024.06.01 삼성전자 갤럭시 스마트폰/태블릿 안드로이드 14 기반 원UI 6.0 국내 업데이트 일정 (0) 2023.11.24 챗GPT 도움으로 텔레그램에 이미지 파일 보내기 파이썬 코드 작성 (0) 2023.06.12 챗GPT가 직접 쓴 자신의 역사 (0) 2023.03.15 삼성 프린터 SL-T1673W (0) 2023.03.11