goodthings4me.tistory.com
파이썬 로또 게임은 로또 번호 6개를 컴퓨터가 먼저 추출하고, 사용자가 입력한 6개의 번호를 비교하여 1등, 2등, 3등, 다음기회에 등을 출력한다.
로또 번호 맞추기 게임
[파이썬 소스 코드]
import random
import time
lotto = []
while True:
num = random.randint(1, 45)
if num not in lotto:
lotto.append(num)
if len(lotto) == 6:
break
# print(lotto)
cnt = 1
numList = []
while cnt <= 6:
try:
num = int(input(f'\n로또번호(1~45) 6개 중\n{cnt}번째 입력: '))
if not (1 <= num <= 45):
print('1 ~ 45 사이의 숫자를 입력하세요!')
continue
elif num in numList:
print(f'이미 선택한 숫자 {num}입니다.')
continue
else:
numList.append(num)
cnt += 1
except:
print('숫자를 입력하세요!')
continue
print(f'\n선택한 숫자는 {numList}\n로또번호 맞은 결과는...?\n')
for n in range(3, 0, -1):
print(f'{n}초')
time.sleep(1)
print(f'\n컴퓨터가 선 추출한 로또번호는 {lotto}')
time.sleep(1)
hitNum = []
for n in numList:
if n in lotto:
hitNum.append(n)
if len(hitNum) == 6:
print(f'\n1등 - 맞은 숫자:{hitNum}')
elif len(hitNum) == 5:
print(f'\n2등 - 맞은 숫자:{hitNum}')
elif len(hitNum) == 4:
print(f'\n3등 - 맞은 숫자:{hitNum}')
elif len(hitNum) == 3:
print(f'\n4등 - 맞은 숫자:{hitNum}')
else:
print('\n다음 기회에')
- 컴퓨터 로또번호 추출은 random.randint(1, 45) 함수로 1개씩 총 6개를 뽑는다.
- 사용자의 로또번호는 1개씩 6개를 입력하는데, 로또번호 범위(1~45)를 벗어나거나 숫자가 아닌 경우, 또는 동일 번호 입력 시 다시 입력하도록 메시지를 출력한다.
- 6개 번호 모두 입력 시 3초 간의 간격을 둔후 컴퓨터가 이미 추출한 번호와 당첨결과를 알려준다.
[실행 결과]
[실행 결과]
로또번호(1~45) 6개 중
1번째 입력: 34
로또번호(1~45) 6개 중
2번째 입력: 12
로또번호(1~45) 6개 중
3번째 입력: 45
로또번호(1~45) 6개 중
4번째 입력: 22
로또번호(1~45) 6개 중
5번째 입력: 4
로또번호(1~45) 6개 중
6번째 입력: f
숫자를 입력하세요!
로또번호(1~45) 6개 중
6번째 입력: 111
1 ~ 45 사이의 숫자를 입력하세요!
로또번호(1~45) 6개 중
6번째 입력: 0
1 ~ 45 사이의 숫자를 입력하세요!
로또번호(1~45) 6개 중
6번째 입력: 4
이미 선택한 숫자 4입니다.
로또번호(1~45) 6개 중
6번째 입력: 34
이미 선택한 숫자 34입니다.
로또번호(1~45) 6개 중
6번째 입력: 23
선택한 숫자는 [34, 12, 45, 22, 4, 23]
로또번호 맞은 결과는...?
3초
2초
1초
컴퓨터 추출 로또번호: [7, 20, 17, 34, 24, 8]
다음 기회에
'코딩 연습 > 파이썬 기초(예제)' 카테고리의 다른 글
파이썬 내부함수, 람다함수, 맵함수, 필터함수 (0) | 2022.10.26 |
---|---|
[파이썬 기초 예제] 반복문과 if조건문 연습 - 정수 입력받아 처리 (0) | 2022.06.27 |
암스트롱 수, 거꾸로 정수 등 [파이썬 기초 예제] (0) | 2022.06.21 |
입력한 수만큼 소수 추출하기 [파이썬 기초 예제] (0) | 2022.06.14 |
개인 도서 목록 관리 프로그램 [파이썬기초예제] (0) | 2022.06.13 |
댓글