반응형

누구나 한 번쯤 '이번 주 로또는 꼭 당첨되길' 바라본 적 있을 것입니다. 오늘은 파이썬 초보자도 30분 안에 만들 수 있는 간단하고 재미있는 로또 번호 추천기 프로그램을 소개합니다. 실전 예제를 통해 파이썬 기본 문법도 자연스럽게 익힐 수 있습니다!
로또 번호 추천기란?
로또 번호 추천기는 1부터 45 사이의 숫자 중 무작위로 6개를 뽑아 추천해주는 프로그램입니다. 매주 새롭게 번호를 추천해주기 때문에, 재미로 사용하거나 친구들과 공유하기에도 좋습니다.
로또 추천기 활용 예시
- 매주 다른 번호로 재미있게 로또 구매하기
- 파이썬 연습용 미니 프로젝트
- 친구, 가족에게 랜덤 번호 추천해주기
파이썬으로 로또 번호 추천기 만들기
필요한 것
- Python 설치
- random 모듈 (파이썬 기본 내장)
로또 번호 추천기 기본 코드
import random
def generate_lotto_numbers():
numbers = random.sample(range(1, 46), 6) # 1~45 중 중복 없이 6개 선택
numbers.sort()
return numbers
# 프로그램 실행
if __name__ == '__main__':
lotto_numbers = generate_lotto_numbers()
print(f"이번 주 추천 로또 번호: {lotto_numbers}")
코드 설명
- random.sample() : 중복 없이 리스트에서 여러 개의 항목을 랜덤으로 선택
- range(1, 46) : 1부터 45까지 숫자 생성
- sort() : 번호를 오름차순 정렬
프로그램을 조금 더 재미있게 꾸며보기
1. 여러 세트 추천하기
한 번에 여러 세트의 로또 번호를 받고 싶다면?
def generate_multiple_lotto_sets(n):
return [generate_lotto_numbers() for _ in range(n)]
# 5세트 추천
sets = generate_multiple_lotto_sets(5)
for idx, s in enumerate(sets, 1):
print(f"{idx}번째 추천 번호: {s}")
2. 보너스 번호까지 추천하기
def generate_lotto_with_bonus():
numbers = random.sample(range(1, 46), 7)
main_numbers = sorted(numbers[:6])
bonus_number = numbers[6]
return main_numbers, bonus_number
main, bonus = generate_lotto_with_bonus()
print(f"메인 번호: {main} + 보너스 번호: {bonus}")
로또 번호 추천기 완성 이후 응용 아이디어
- GUI(그래픽 인터페이스)로 추천 결과를 창에 표시하기 (tkinter 사용)
- 추천된 번호를 파일로 저장하거나 공유 기능 추가
- 자주 나온 번호(빈도 기반)로 추천하는 기능 추가
간단하게 GUI 프로그램으로 발전시키기 (심화)
tkinter를 활용하면 로또 번호를 버튼 하나로 뽑아주는 간단한 GUI 프로그램도 만들 수 있습니다.
import tkinter as tk
import random
def generate():
numbers = random.sample(range(1, 46), 6)
numbers.sort()
result_label.config(text=f"추천 번호: {numbers}")
root = tk.Tk()
root.title("로또 번호 추천기")
generate_button = tk.Button(root, text="번호 추천하기", command=generate)
generate_button.pack(pady=20)
result_label = tk.Label(root, text="")
result_label.pack(pady=10)
root.mainloop()
이렇게 하면 프로그램이 한층 더 사용하기 편해집니다!
마무리하며
오늘 만들어 본 파이썬 로또 번호 추천기는 단순하지만, 랜덤 함수, 리스트 조작, 함수 호출 등을 자연스럽게 연습할 수 있는 훌륭한 미니 프로젝트입니다. 처음에는 콘솔 프로그램부터 시작해서, 이후에는 GUI 추가, 데이터 분석, 자동화 기능까지 확장해 나가보세요. 하나의 작은 프로그램이 여러분의 코딩 실력을 크게 성장시킬 수 있습니다!
반응형