반응형

과거 로또 번호 가져와 출력하고 저장하기 1

 

글. 오상문 sualchi@daum.net

 

과거 로또번호 1회부터 10회까지 1등 당청번호를 가져와서 출력하는 예제입니다. 파일 저장 위치는 c:\temp 디렉터리입니다. 

 

다음은 파이썬 소스 코드입니다. 

 

import random
import requests

 

# 지정한 회차 로또번호 가져오는 함수

def get_lotto(nth):
    params = {  nlotto.co.k에서 제공하는 파라미터 자료 구조 
        'method' : 'getLottoNumber',
        'drwNo' : nth
    }

    req = requests.get('https://www.nlotto.co.kr/common.do', params=params)
    r = req.json()       # joson 포맷 변경 
    if r['returnValue'] == 'success':  # 성공했으면...
        lotto = []
        for i in range(1,7):
            lotto.append(r['drwtNo'+str(i)])       
        return lotto
    else:   # 실패했으면 False 반환 
        return False

 

#--------------------------------

data = []              # 1회부터 저장한 리스트 정의 
for i in range(1,11):  # 1~10회 당첨 번호를 가져옴
    r = get_lotto(i)
    if r != False:      # 성공했으면 해당 회차 처리 
        data.append(r)
        print('%d회:'%i, r)
    else:
        print("%i회"%i, '다운로드 실패!')

with open("c:/temp/lotto.txt", 'w') as f:
    for d in data:
        f.write(str(sorted(d))+'\n')   # 파일에 저장 

 

[실행 결과]

1회: [10, 23, 29, 33, 37, 40]
2회: [9, 13, 21, 25, 32, 42]
3회: [11, 16, 19, 21, 27, 31]
4회: [14, 27, 30, 31, 40, 42]
5회: [16, 24, 29, 40, 41, 42]
6회: [14, 15, 26, 27, 40, 42]
7회: [2, 9, 16, 25, 26, 40]
8회: [8, 19, 25, 34, 37, 39]
9회: [2, 4, 16, 17, 36, 39]
10회: [9, 25, 30, 33, 41, 44]

 
 

 

<이상>

반응형

+ Recent posts