본문 바로가기

DB엔지니어가 공부하는 python

파이썬 로또번호 추출기 shuffle, sample 사용예제

파이썬 로또번호 추출기 shuffle, sample 사용예제

파이썬 로또번호 추출기 shuffle, sample 사용예제

 

안녕하세요.

 

파이썬을 이용해서 로또번호를 추출하는 코드를 작성해 보았습니다.

아주 간단한 코드지만, 저와 같은 파린이 들을 위하여 공부를 위한 기록 정도로 봐주시면 좋겠습니다.

 

이번 파이썬 로또번호 추출을 위한 코드에서 사용하는 대표적인 라이브러리와 함수는 random 라이브러리와 함께 shuffle과 sample 입니다.

 

사실 shuffle은 어떻게 보면 무의미한 과정입니다. 어차피 sample을 통해서 나오는 값 자체가 random하게 나오기 때문이죠.

 

그래도, 공부를 위한 과정이라 넣어본것이니 처음 접하시는 분들은 잘 따라서 해주시면 좋겠습니다.

 

파이썬 로또번호 추출 코드

파이썬에서는 아주간단한 코드로 random한 로또번호를 추출 해낼 수 있습니다.

방법은 아주 다양하겠지만 제가 작성한 코드는 아래와 같습니다.

# 로또 번호 생성기
from random import * #random 라이브러리를 import 함
lotto_num = range(1, 46) #1부터 45번까지 숫자를 생성 함
print(type(lotto_num)) #lotto_num 변수의 자료구조 확인

lotto_num = list(lotto_num) #list의 함수를 사용하기 위하여 lotto_num변수를 list로 형변환 함
print(lotto_num) #lotto_num변수의 값을 출력 함

shuffle(lotto_num) #shuffle 함수를 통하여 lotto_num변수의 원소값을 섞어줌
print(lotto_num) #shuffle한 lotto_num의 값을 출력 함

my_lotto_num = sample(lotto_num, 6) #나의 로또 번호를 my_lotto_num에 저장
print(my_lotto_num) #my_lotto_num를 출력

위에서 부터 한줄씩 코드 설명을 하겠습니다.

우선 random 라이브러리를 import 합니다.

 

그리고 lotto_num이라는 변수를 선언하고, 1부터 45번까지 번호가 저장 되도록 range 함수를 통하여 선언을 해줍니다. 코드에는 1, 46이라고 range 함수에 파라미터가 정의 되어 있는데 이렇게 해야 1부터 45까지가 저장이 됩니다.

 

그리고 print 함수로 lotto_num의 type을 확인 합니다. 결과는 <class 'range'>라고 나오는데, 이것을 list함수로 감싸서 자료구조를 range에서 list로 변환 합니다.

 

그리고 lotto_num의 값을 출력을 해 봅니다. 그러면 1부터 45까지의 숫자가 아주 정갈하게 나열되어 들어가 있는것을 확인 할 수 있습니다.

 

 

 

그 아래, shuffle 함수를 통해 list 자료구조로 구성된 lotto_num변수내 원소들을 섞어 줍니다.

그리고 다시 print 함수로 출력을 해보면 숫자가 뒤죽박죽 섞여서 출력 되는걸 확인 할 수 있습니다.

 

그 다음 코드를 보면 my_lotto_num = sample(lotto_num, 6) 이라고 되어 있습니다.

my_lotto_num 변수에 lotto_num 변수에서 샘플로 6개의 원소를 뽑아서 저장 하라는 의미 입니다.

사실 이때, 랜덤하게 샘플을 뽑기때문에 위에서 한 shuffle 작업은 의미가 없습니다.

그래도 shuffle 이라는 함수의 기능을 알아야 하기에 이렇게 코드를 작성 했습니다.

 

그리고 마지막으로 print 함수를 통해서 my_lotto_num 변수를 출력하면 6개의 번호가 출력 되는 것을 확인 할 수 있습니다.

 

위 코드의 결과는 아래와 같습니다.

파이썬 로또번호 추출 코드

위 코드와 아래 결과를 번갈아 비교해 보시면 이해가 되시리라 생각 됩니다.

 

이렇게 간단하게 로또번호 추출기를 만들어 보았습니다.

 

제발... 하나만 맞게 해주세요...ㅎㅎㅎ

 

감사합니다!!!!

 

##참고자료##

2020/08/06 - [ETC();] - 역대 로또 많이 나온 번호 와 합계 분석 자료

 

역대 로또 많이 나온 번호 와 합계 분석 자료

역대 로또 많이 나온 번호와 합계 분석 자료 코로나로 인해 다들 위축된 경기에 힘이 많이 드시는 걸로 압니다. 지금과 같을때 로또를 사는 사람도 많이 늘어나고 있다고 합니다. 이미 많은 사람

stricky.tistory.com

 

 

 

by.sTricky