본문 바로가기
프로그램

[파이썬] 문제 : 숫자 맞추기 게임(입력값 5초과 출력, 근접 메세지 출력)

by 오디세이99 2022. 12. 9.
728x90
반응형

import random


game_cnt = int(input("게임을 몇 번 하시겠습니까?: "))                   # 총 게임횟수 입력 받기

user_win_cnt = 0          # 사용자가 이긴 게임수
com_win_cnt = 0           # 컴퓨터가 이긴 게임수
success_cnt = 0           # 맞추기 성공한 시도수
failure_cnt = 0           # 맞추기 실패한 시도수
for gc in range(game_cnt):                                             # 게임 횟수 만큼 반복
    change = int(input("이번 게임에서는 몇 번만에 맞추시겠어요?: "))    # 몇 번에 맞출 것인지 입력 받기

    com = random.randint(0, 100)                                        # 컴퓨커가 임의의 수 랜덥 생성

    print("0부터 100까지의 숫자를 맞춰보세용")
    count = 0                                                           # 맞추기 횟수 count
    while count < change:                                              # 몇번에 맞추는지 반복
        count += 1                                                      # 맞추기 횟수 count 증가

        user = int(input("몇 일까요? 맞춰보세용?:"))                    # 사용자가 값 입력

        if user == com:                                                 # 사용자 입력 값이 컴퓨터 값과 같으면
            success_cnt += 1                                            # 성공 count
            break                                                       # 이번 게임 종료
        elif abs(user - com) <= 5:                                      # 입력한 답이 5 이하로 가까워지면. abs함수는 절대값함수
             print("답이 근접했어요...")
        elif user - com > 5:                                            # 사용자 입력값이 컴퓨터값보다 5 이상 크면
            print("숫자가 너무 커요...")
        elif com - user > 5:                                            # 사용자 입력값이 컴퓨터값보다 5 이상 작으면
            print("숫자가 너무 작아요...")
        failure_cnt += 1                                                 # 실패횟수 증가

    if user == com:
        print("정답입니다~~!!!")
        user_win_cnt += 1                                               # 사용자 승리 count 증가
    else:
        print("실패... 다시 해보세요(정답:",com,")")
        com_win_cnt += 1                                                # 컴퓨터 승리 count 증가

print(f"성공한 횟수 : {success_cnt}, 실패한 횟수 : {failure_cnt}")      # 성공한 횟수, 실패한 횟수 출력
print(f"사용자기 이기 횟수 : {user_win_cnt}, 컴퓨터가 이긴 횟수 : {com_win_cnt}")     # 사용자가 이긴 횟수, 컴퓨터가 이긴 횟수 출력
if user_win_cnt > com_win_cnt:
    print("최종 승자는 사용자 입니다.")
elif user_win_cnt < com_win_cnt:
    print("최종 승자는 컴퓨터 입니다.")
else:
    print("비겼습니다.")

728x90
반응형

댓글