• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

교수님 baseBall 게임 main문 작성 문제

19.10.15 14:41 작성 조회수 214

0

안녕하세요 교수님 야구게임하다가 검증을 2시간을 해도 도저히 답을 못찾아서 교수님께 질문 올립니다 

def main():
    print("Play Baseball")
    user_input = 999
    # ===Modify codes below=============
    # 위의 코드를 포함하여 자유로운 수정이 가능함
    is_game = True # 게임을 다시 실행할 시 컴퓨터의 random 함수를 작동시키는 whiile
    is_oneMore = True #  사용자의 재시작 의향을 받는 whiile
    is_random = True # 게임 실행시 사용자의 숫자를 받는 While

    while(is_game): # 이 while 는 컴퓨터의 랜덤 숫자 생성을 계속 진행할 while
        is_oneMore = True # 밑에서 다시 실행함에 따라 False 를 다시 True 로 변경을 해주어야 함
        is_random = True # 마찬가지로 아래에서 False 랄 디시 True로 돌려야 계속 진행이 가능
        random_number = str(get_not_duplicated_three_digit_number())
        print("Random Number is : ", random_number) # 컴퓨터의 랜덤 숫자를 사용자에게 한번 보여줌
        while(is_random): # 이 while 은 사용자의 숫자를 계속 받을 while
            user_input = input('Input guess number : ') # 이때 사용자가 값을 입력함
            if(is_validated_number(user_input)): # 그 값을 컴퓨터의 값과 비교하여 strikes , balls 의 값을 비교함 이때 잘못입력하면 제일 아래의 else문으로 떨어짐
                stikes , balls = get_strikes_or_ball(user_input , random_number) # 검증된 함수로 strike , balls 를 비교해서 unpacking 를 함
                print("Strikes : ",stikes,",","Balls : ",balls) # 그 모습을 사용자에게 한번 보여줌
                if(stikes == 3): # 여기서 종료 여부 물음
                    while(is_oneMore):
                        one_more = input("You Win, one more(Y/N) ?")
                        if(is_yes(one_more)): #검증된 함수로 물어봄
                            is_oneMore = False #이 때 다시 하고 싶으며면 제일 최상의 while을 제외하고는 탈출을 시켜야 하기 때문에 False 를 사용함
                            is_random = False # 마찬가지임
                            #여기로 끝이 나면 is_game while문으로 돌아감
                        else:
                            if(is_no(one_more) or one_more == "0" ): # 그것이 아니라면 (yes 가 아닌 다른것을 입력했다면 n , 이거나 그 밖에 )
                                is_game =  False
                                is_oneMore = False
                                is_random = False # 이때는 게임을 끝내고 싶기 때문에 모든 while 에 False 를 걸어서 게임을 종료 시켜야 함
                            else: # 이곳은 0도 아니고 , N이 아닌 전혀 이상한 값이 들어 왔을때는
                                print("Wrong Input, Input agin")
                                continue # 다시 한번 종료의사만 물어보는 While 로만 돌아가야 한다
            else:
                print("Wrong Input, Input agin")
                continue #이것의 continue 는 사용자가 잘못된 숫자를 입력했을 경우 오는 continue
    # ==================================
    print("Thank you for using this program")
    print("End of the Game")

if __name__ == "__main__":
    main()

atom 으로 작성한 main 문입니다 

이때 다른 함수들은 전부 Pass를 받았는데 main만 계속해서 Fail 을 받고 있습니다 고치고 고처서 최대한 

overView하고 똑같이 만들었는데 계속해서 fail이 발생합니다 

위의 cmd 들이 제가 작성한 코드를 돌려본 결과 값입니다 

제 코드가 잘못된 것인지 궁금합니다 

감사합니다 

사진이 작게 보이면 우클릭해서 새탭에서 열기 하시면 크게 보입니다 감사합니다

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!