안녕하세요, 여러분! 오늘은 파이썬으로 재미있고 간단한 **로또 번호 생성기**를 만들어볼 거예요. 그런데! 그냥 번호를 랜덤으로 뽑기만 하면 조금 심심하겠죠? 그래서 **제외할 번호**를 설정해서 내가 싫어하는(!) 숫자들을 뺀 나머지로 번호를 생성할 수 있도록 기능을 추가해봤습니다. 지금부터 하나씩 살펴볼까요?
### 1. 로또 번호는 어떻게 뽑을까?
로또 번호는 **1부터 45**까지의 숫자 중에 **6개**를 랜덤으로 선택하는 방식이에요. 여기에 파이썬의 강력한 도구인 `random` 모듈을 사용하면 정말 간단하게 랜덤 번호를 생성할 수 있습니다.
먼저, 기본적인 번호 생성 코드를 만들어볼게요. 여기선 숫자들을 뽑고 보기 좋게 정렬까지 해볼 거예요:
import random
def generate_lotto_numbers():
# 1부터 45까지의 번호 리스트 만들기
numbers = list(range(1, 46))
# 6개의 랜덤 번호 뽑기 (중복 없이!)
lotto_numbers = random.sample(numbers, 6)
# 번호를 오름차순으로 정렬
lotto_numbers.sort()
return lotto_numbers
# 드디어 로또 번호 추첨!
print("이번 주 내 당첨 번호:", generate_lotto_numbers())
위 코드를 실행하면, 매번 1부터 45 사이의 숫자 6개가 랜덤으로 선택되어 출력됩니다. 그런데 여기서 "나 이 번호 싫어! 제외하고 싶어!" 하는 번호가 있을 수 있겠죠?
그래서 **제외수 기능**을 추가해볼 거예요!
### 2. 싫은 번호는 빼자! (제외 숫자 설정하기)
제외 숫자를 설정하려면 어떻게 해야 할까요? 아주 간단합니다. 그냥 제외하고 싶은 번호를 미리 리스트로 만들어서 그 번호는 로또 추첨에 포함되지 않도록 해주면 됩니다. 예를 들어, 저는 **3, 15, 22, 35**를 뺄 거예요. 로직은 이렇습니다:
- 1부터 45까지의 번호를 리스트로 만든다.
- 내가 제외하고 싶은 숫자들을 그 리스트에서 제거한다.
- 남은 숫자들 중에서 6개를 랜덤으로 뽑는다.
짜잔! 이렇게 하면 나만의 "맞춤형" 로또 번호 생성기가 완성됩니다. 그럼 코드를 조금 더 수정해볼게요:
import random
def generate_lotto_numbers(excluded_numbers=None):
# 제외할 번호가 없으면 빈 리스트로 초기화
if excluded_numbers is None:
excluded_numbers = []
# 로또 번호는 1부터 45까지 가능
numbers = list(range(1, 46))
# 제외수는 numbers 리스트에서 제거
numbers = [num for num in numbers if num not in excluded_numbers]
# 6개의 번호를 랜덤으로 뽑습니다 (중복 없이!)
lotto_numbers = random.sample(numbers, 6)
# 보기 좋게 번호를 정렬
lotto_numbers.sort()
return lotto_numbers
# 제외할 번호 설정
excluded_numbers = [3, 15, 22, 35]
# 한 번에 5개씩 로또 번호를 뽑습니다.
for i in range(5):
print(f"세트 {i+1}의 당첨 번호:", generate_lotto_numbers(excluded_numbers))
### 3. 한 번에 5세트의 로또 번호를 뽑아보자!
이제 이 로또 번호 생성기를 통해 **한 번에 5개의 세트**를 생성해볼게요. 다섯 번 반복해서 새로운 로또 번호들을 출력해주는 코드입니다.
- 먼저 `excluded_numbers`라는 변수에 **제외할 번호들**을 담아둡니다.
- 그런 다음 `generate_lotto_numbers()` 함수에 그 숫자들을 넣어주면 끝!
결과는 아래와 같이 나옵니다.
세트 1의 당첨 번호: [2, 6, 9, 27, 33, 44]
세트 2의 당첨 번호: [4, 7, 12, 30, 37, 45]
세트 3의 당첨 번호: [1, 5, 14, 25, 28, 42]
세트 4의 당첨 번호: [8, 13, 16, 20, 34, 43]
세트 5의 당첨 번호: [10, 11, 17, 19, 31, 41]
**3, 15, 22, 35**는 내가 싫어하는 번호라서 제외했는데, 잘 적용된 것 같죠? 😄
### 4. 마무리
이렇게 해서 파이썬으로 **로또 번호 생성기**를 만들어봤습니다. 기본적인 랜덤 추첨 기능에 제외할 번호까지 추가해서 원하는 번호를 만들 수 있죠! 이 코드를 조금 더 발전시키면 **보너스 번호**를 뽑거나, **역대 당첨 번호 분석** 등 다양한 기능도 추가할 수 있을 것 같아요.
파이썬의 강력한 기능을 이용해서 로또 번호 추첨도 이렇게 쉽게 할 수 있다니, 참 재미있지 않나요? 여러분도 직접 한 번 만들어보세요! 🤩
**혹시나!** 로또 당첨되면... 저랑 나누는 거 아시죠? (농담이에요 😉)
그럼 다음에 또 재미있는 파이썬 프로젝트로 돌아올게요!
'파이썬으로 로또 1등 도전기' 카테고리의 다른 글
6일차) 최신 회차부터 이전 10회까지 가져오기 (0) | 2024.10.13 |
---|---|
5일차) 오늘 날짜 기준으로 최신 로또 회차 번호 알아내기 (0) | 2024.10.13 |
4일차) 로또 당첨 번호 가져오기! (공공데이터 API 활용법) (1) | 2024.10.13 |
2일차) 파이썬으로 로또 365 번호뽑기!!! (0) | 2024.10.11 |
1일차) 파이썬 설치와 Hello 출력하기 (2) | 2024.10.10 |