여러분은 로또 좋아하시나요?
간단하게 1,000원으로도 당첨되면 뭐할까 라는 행복한 상상을 할 수 있죠.
매번 살 때마다 로또 번호를 뭐로 할까 고민이 많이 되는데요.
파이썬의 random모듈을 활용하여 자동으로 로또 번호를 만들어 봅시다.
처음에 몇 개의 로또 번호를 생성할 것인지 입력을 하고(위에 결과에선 3번) 입력한 수만큼의 로또 번호를 출력하게 만들어 봅시다.
그전에 코드에서 사용할 sample() 함수를 알아야 합니다.
sample(sequence, k)
import random
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
# 실행 결과 : [5, 1, 2]
일단 sample 함수를 사용하려면 random 모듈을 import 해야 합니다.
sample 함수는 sequence(리스트, 문자열, 튜플 등)에서 무작위 k개만큼의 element를 선택해서 만든 리스트를 반환합니다.
위의 코드에선 lst가 sequence, 3이 k가 되는 겁니다. 실행 결과로 [5, 1, 2]가 출력되는 것을 볼 수 있죠.
로또 번호 자동 생성기
from random import sample
일단 random 모듈에서 필요한 것이 sample 하나므로 sample만 import 해주겠습니다.
numbers = list(range(1, 46))
times = int(input("몇 번 원합니까?"))
numbers라는 1~45를 가지고 있는 리스트를 만들어 줍니다.
times란 변수에 사용자로부터 몇 개의 로또 번호를 생성할 것인지 입력을 받습니다.(int 변환해야 함)
for i in range(1, times+1):
result = sample(numbers, 6)
result.sort()
print("{0}번 로또 번호 : {1}".format(i, result))
for loop를 돌리는데 총 times 번 만큼 반복됩니다.
결과를 담을 result 변수에 numbers에서 6개의 무작위 숫자를 가져온 리스트를 저장해 줍니다.
그리고 sort()를 통해 정렬해 주고요 print()를 통해 로또 번호를 출력해 줍니다.
몇 번째 로또 번호인지 format을 통해 출력해줄 수 있습니다.
이제 실행을 해보면
몇 번 원하냐는 질문에 5를 입력하니 총 5개의 로또 번호가 잘 출력되었습니다.
당연히 저 로또 번호가 당첨 번호가 아니고 단순히 무작위로 생성된 번호입니다.
이제 로또 번호를 고민할 시간을 아낄 수 있게 되었네요.^^
글 읽어주셔서 감사합니다.
모두 로또 당첨되시길~
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 리스트 함수 모음 (List Methods) (0) | 2022.09.15 |
---|---|
[Python] 자료형의 변환 (0) | 2022.09.11 |
댓글