Python/연습장

내가 처음 만든 숫자 야구

joo_coding 2025. 3. 6. 10:16

교수님이 설명해주신 프로그램의 조건을 잘못 이해한듯? (게임 고유의 규칙 말고)

나는 컴퓨터랑 대결 하라길래, 정답 숫자가 있는 상태에서

내가 뽑고, 결과 나오고, 그 다음에 컴퓨터가 뽑고, 결과 나오고 해서

컴퓨터랑 대결해서 먼저 이기는 게임 만들라는 것으로 이해함

 

그게 아니라

컴퓨터가 숫자를 뽑으면

그걸 추측하는 게임을 만들라는거였음 ㅋㅋ 


# 랜덤하게 3자리 숫자가 정해진다.
# 내가 입력한다 > 결과가 나온다 *함수를 써볼까?
# 컴퓨터가 고른다 > 결과가 나온다
# 1턴 = 유저 1회 + 컴퓨터 1회

# 저장이 필요한 데이터들
score = [] #승패
trun = 0 # 이거 필요 없을수도있음 (일단 설정)

print("[menu]\n1.play\n2.score\n3.stop") # 메뉴고르기
user_input = input("메뉴를 고르시오: ")

while True:
    if user_input == '1': #유저가 1번 play를 고른 경우
        print("게임을 시작합니다.")
        print("[menu]\n1.high(9회)\n2.normal(12회)\n3.low(15회)")  # 난이도 고르기
        level = input("난이도를 고르시오: ")

        if level == '1':
            print("high level(9회)을 시작합니다.")

        if level == '2':
            print("normal level(12회)을 시작합니다.")

        if level == '3':
            print("low level(15회)을 시작합니다.")


        # 위 문구를 프린트하고 다음 코드 진행
        switch = True
        while switch: # 플레이어가 3개의 숫자를 고른다.(중복x, 1~9)
            a = input("1~9 사이, 중복x \n첫 번째 숫자를 고르세요.: ")
            a = int(a)
            if 1 <= a <= 9: # 1~9 사이 숫자
                switch = False # 골랐으니 해당 반복문 종료
            else: # 범위를 벗어나면 다시 고르게 하기
                print("1~9 사이의 숫자로 다시 골라주세요.")

        # 2번째 숫자
        switch = True
        while switch:
            b = input("1~9 사이, 중복x \n두 번째 숫자를 고르세요.: ")
            b = int(b)
            if 1 <= b <= 9:
                if b != a: # 두번째 숫자는 a랑 중복되면 안됨
                    switch = False
                else:
                    print("중복된 숫자입니다. 다시 골라주세요.")
            else:
                print("1~9 사이의 숫자로 다시 골라주세요.")

        switch = True
        while switch:
            c = input("1~9 사이, 중복x \n세 번째 숫자를 고르세요.: ")
            c = int(c)
            if 1 <= c <= 9:
                if c != a and c != b:  # c를 a로 고를수도 있고, b도 고를 수 있으니까 and 사용
                    switch = False
                else:
                    print("중복된 숫자입니다. 다시 골라주세요.")
            else:
                print("1~9 사이의 숫자로 다시 골라주세요.")

        user_pic_list = [a, b, c]
        print(f"사용자가 선택한 번호:{user_pic_list}")

        # 컴퓨터 픽
        # 컴퓨터도 랜덤하게 3자리 숫자를 고른다. (중복x, 1~9)

        import random

        com_pic = []

        for i in range(1, 10):
            com_pic.append(i)

        import random

        random.shuffle(com_pic)
        computer = com_pic[:3]
        print(computer)  # 셔플은 차순으로 안나옴

    if user_input == '2': #유저가 2.score를 고른 경우
        print("전적을 조회합니다.")

    if user_input == '3':
        print("게임을 종료합니다.")
        break