매주 로또를 사는 회사원 1인으로써!!
매번 로또 판매점에서 자동으로 번호를 받아왔습니다.
그런데 로또가 조작이다 아니다 워낙 말도 많고,,,
좀 더 재미있게 로또를 해보기 위해서 ChatGPT로 로또 번호를 만들어 봤어요.
그럼 이 로또 번호 생성기를 어떻게 만들었느냐???
간단합니다!!!
GPT에서 랜덤 함수로 로또 번호 6개를 추출하는 코드를 짜달라고 했어요@@
내용은 아래와 같습니다!!!
그럼 여기에서 드는 생각!!
ChatGPT에서 생성할 때의 random 함수는 어떻게 번호를 생성해 내는걸까??
그래서 GPT에게 물어봤습니다~~
쉽게 말해서 Python이 제공하는 random 모듈을 기반으로 생성한다는 내용입니다.
"파이썬[2](영어: Python)은 1991년[3] 네덜란드계 소프트웨어 엔지니어인 귀도 반 로섬[4]이 발표한 고급 프로그래밍 언어로, '인터프리터를 사용하는 객체지향 언어'이자 플랫폼에 독립적인, 동적 타이핑(dynamically typed) 대화형 언어다" - 출처 : 위키백과
그 내용을 좀 더 살펴 보면~~
🔍 1. random.sample(range(1, 46), 6) 의 동작
- 기능:
지정된 범위(여기서는 1~45)에서 중복 없이 6개의 숫자를 무작위로 선택함. - 과정:
내부적으로는 range(1, 46)을 리스트로 변환한 뒤, 무작위로 6개를 선택함.
선택된 숫자들은 서로 중복되지 않음. - 사용된 알고리즘:
random.sample()은 Fisher-Yates 셔플 알고리즘을 응용해서 선택함.
이는 리스트를 섞은 뒤, 앞에서부터 필요한 개수만큼 잘라내는 방식이야.
🔍 2. random.randint(1, 45) 의 동작
- 기능:
지정된 범위에서 정수 하나를 무작위로 선택함.
예: random.randint(1, 45) → 1 이상 45 이하의 정수 중 하나 선택. - 사용된 알고리즘:
내부적으로는 random.randrange(start, stop+1)을 사용함.
숫자를 균등한 확률로 선택하기 위해 Mersenne Twister라는 알고리즘을 사용해 난수를 생성함.
🧠 추가 정보: "의사 난수"란?
- Python의 random 모듈은 실제로 **완전한 난수(true random)**가 아니라,
**특정 수학 공식을 통해 만들어진 예측 가능한 난수(의사 난수)**를 사용해. - 기본적으로는 random.seed()로 시작값이 설정되며, 같은 seed를 주면 같은 결과가 나와.
🎲 요약
random.sample(range(1, 46), 6) | 1~45에서 6개 선택 | ❌ 없음 | 중복 없이 무작위 선택 |
random.randint(1, 45) | 1~45에서 1개 선택 | ✅ 가능 | 중복 가능, 하나씩 생성할 때 사용 |
🔁 두 랜덤 함수의 용도 차이
✅ 1. random.sample(range(1, 46), 6)
- 주 역할:
로또 당첨 번호 6개를 중복 없이 한 번에 생성하는 데 사용 - 왜 사용하냐면:
실제 로또는 같은 번호가 중복될 수 없기 때문이야!
예: [5, 11, 23, 28, 37, 42] ← 모두 다름
✅ 2. random.randint(1, 45)
- 주 역할:
슬롯머신 느낌을 줄 때, 번호가 정해지기 전 잠깐 보여주는 임시 숫자로 사용 - 왜 사용하냐면:
진짜 번호가 등장하기 전, 눈을 현혹하는(?) 슬롯머신 느낌을 주기 위해 빠르게 숫자를 바꾸는 연출을 넣은 거야.
예: -
less복사편집[14] → [32] → [6] → [45] → 최종: [23]
🎰 그래서 요약하면...
random.sample() | 최종 로또 번호 6개 생성 | 중복 없이 한 번에 안전하게 뽑기 위해 |
random.randint() | 시각적 효과용 "가짜" 숫자 보여주기 | 슬롯머신 애니메이션을 연출하기 위해 |
👉 만약 애니메이션 없이 바로 6개만 뽑고 싶으면?
random.sample()만 써도 충분해!
근데 사용자 경험을 위해 재미 요소(슬롯머신 느낌)를 추가하면서 random.randint()도 같이 쓴 거지. 🎉
이상으로!!
로또 번호 생성기를 생성/완료하였습니다.
저는 오늘부터 자동으로 로또를 살 때, 제가 만든 앱을 이용해 보도록 할게요~~~~~
아... 어쩌지??
이러다 1등 되면;;;;;
** [강아지 MBTI 테스트앱] 강아지도 MBTI가 있을까?? 강아지 MBTI를 테스트해보자~~
** [휴일 계산기] 2025년 전체 휴일 수는 117일!!! 전체의 32%나 된다고????
'💾 공대 라이프 > 웹앱' 카테고리의 다른 글
[강아지 MBTI 테스트앱] 강아지도 MBTI가 있을까?? 강아지 MBTI를 테스트해보자~~ (0) | 2025.03.29 |
---|---|
[휴일 계산기] 2025년 전체 휴일 수는 117일!!! 전체의 32%나 된다고???? (0) | 2025.03.29 |
댓글