본문 바로가기
코딩 연습/파이썬 기초(예제)

파이썬 로또 게임 [파이썬 기초 예제]

by good4me 2022. 6. 22.

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초 간의 간격을 둔후 컴퓨터가 이미 추출한 번호와 당첨결과를 알려준다.

 

good4me.co.kr

 

[실행 결과]

[실행 결과]
로또번호(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]

다음 기회에

 

 

 

 

 

댓글