본문 바로가기
프로그램/Python 1000제

Python 74제] 숫자 맞추기 게임을 만드시오.(Ver 1)

by 건티 2022. 5. 4.
728x90

출처 : 반크_세계유산 석굴암

 

문제]

1~13사이의 숫자를 컴퓨터가 발생하면 맞추는 게임을 프로그램으로 작성하시오.

조건)

▶ 1~13 이외의 수가 입력되면 에러메세지를 출력하고 다시 입력하도록 하시오.

▶ 숫자 이외의 문자열이 입력되면 에러메세지를 출력하고 다시 입력하도록 하시오.

▶ 사용자가 입력한 수가 높으면 입력한 숫자가 크다고 출력하시오.

▶ 사용자가 입력한 수가 작으면 작다고 출력하시오.

▶ 사용자가 숫자를 맞추면 몇 번 회차에 맞추었다고 출력하시오.

▶ 게임을 계속할 지 여부를 체크하시오.

▶ 게임의 수가 3회를 넘으면 게임을 절제할 수 있도록 메세지를 출력하시오.

▶ 게임이 끝나면 "적당한 게임은 일의 능률을 극대화 시켜줍니다."를 출력하시오.

▶ 게임이 끝나면 수고하였다는 메세지와 함께 프로그램을 종료하시오.

 

참고풀이 결과]

 

참고풀이]

import random

Tot_Count=0
while True:
    Tot_Count+=1
    Computer_su=random.randint(1,13)
    Count=0
    while True:
        Count+=1
        while True:
            try:
                Player_su=int(input("1~13사이의 수를 입력하시오 : "))
            
                if Player_su>=1 and Player_su<=13:
                    break
                print(f'1~13사이의 수가 아닙니다.')
                print("다시 입력하세요...")
            except:
                print("수가 아닙니다.")
                print("다시 입력하세요...")
            
        if Player_su>Computer_su:
            print("입력한 숫자가 큼니다.")
        elif Player_su<Computer_su:
            print("입력한 숫자가 작습니다.")
        else:
            print(f"축하합니다! {Count}회째에 맞추었습니다.")
            break
            
    #계속여부 체크부분
    if Tot_Count>=3:
        print(f"게임을 절제할 능력도 필요합니다.")
    while True:
        Chk=input("계속하시겠습니까?(y/n) ")
        if Chk.lower()=='y' or Chk.lower()=='n':
            break
        print("y/Y/n/N만 입력하세요.")
        print("다시 입력하세요...")
    if Chk.lower()=='n':
        break

print("적당한 게임은 일의 능률을 극대화 시켜줍니다.")
print("수고하셨습니다.")

 

 

 

 

대한민국의 아름다운 영토, 독도의 봄

 

반응형

댓글