본문 바로가기
두두 IT/예제로 풀어보는 파이썬

동전 던지기 게임 만들기 | 랜덤 모듈

by DoDo's 2026. 5. 10.
반응형

 

코드

import random

head = """
      .---.
    /       \
   /  / @ @ \  \

  |   \  -  /   |
   \   '---'   /
    \         /
      '-----'

"""

tail = """
      .---.
    /       \
   /  1 0 0  \

  |   W O N   |
   \         /
    \       /
      '-----'
"""

print("동전 앞뒤 맞추기 게임을 시작하겠습니다.")

while  True:
    computer = random.randint(0, 1)

    while True:
       choice_str = input("동전의 면을 선택해주세요.! (0:앞, 1: 뒤) \n 나의 선택: ")
       if choice_str == "0" or choice_str == "1":
           choice = int(choice_str)
           break
       else:
           print(f"0과 1이 아닌 숫자가 입력되었습니다.{choice_str}이(가) 입력되었습니다.")
            
        

    print("동전의 면 결과")
    if computer == 0:
        print(head)
    else:
        print(tail)

    print("나의 선택")
    if choice == 0:
        print(head)
    else:
        print(tail)

    print("최종결과")
    if computer == choice:
        print("적중했습니다.!")
    else:
        print("아쉽지만 틀렸습니다")

    retry = input("다시 시도하시겠습니까? (y/n)\n")
    if retry.lower() == 'n':
        print("종료되었습니다.")
        break

 

실행값

동전의 면을 선택해주세요.! (0:앞, 1: 뒤) 
 나의 선택: 1
동전의 면 결과

      .---.
    /          /  1 0 0  
  |   W O N   |
   \         /
    \       /
      '-----'

나의 선택

      .---.
    /          /  1 0 0  
  |   W O N   |
   \         /
    \       /
      '-----'

최종결과
적중했습니다.!
다시 시도하시겠습니까? (y/n)
다시 시도하시겠습니까? (y/n)n
동전의 면을 선택해주세요.! (0:앞, 1: 뒤) 
 나의 선택: 0
동전의 면 결과

      .---.
    /          /  / @ @ \  
  |   \  -  /   |
   \   '---'   /
    \         /
      '-----'


나의 선택

      .---.
    /          /  / @ @ \  
  |   \  -  /   |
   \   '---'   /
    \         /
      '-----'


최종결과
적중했습니다.!
다시 시도하시겠습니까? (y/n)
n
종료되었습니다.

 

배운점

while True 안에 또 while True를 사용할 수 있다는 것을 알게 되었다.

큰 while True에서는 랜덤을 주는 값을 반복하게 만들고 그 안에 whie True는 내가 입력한 값을 0, 1이 아닌 숫자를 입력하면 다시 입력할 수 있도록 반복하는 것이다.

 

 

반응형