본문 바로가기

과제

[파이썬 기초복습반] 220919 과제2 - 가위바위보 게임 심화

main file

 

from get_input import picked

com_win_count = 0
user_win_count = 0 

while com_win_count < 2 and user_win_count < 2:     # 한 상대가 2번 이긴다면 False로 반복문 종료

    com_pick, user_pick = picked()           # 호출한 함수에서 전달받은 두 개의 값을 각각 변수에 할당
    result = [com_pick, user_pick]           # 각 값을 리스트로 묶어줌
    print(f"computer: {com_pick} vs user: {user_pick}") # 정답 확인용 코드

    user_win_case = [['바위', '보'],['가위', '바위'],['보', '가위']]  # 순서 : com_pick, user_pick / 사용자가 승리할 경우의 가짓수을 저장

    if com_pick == user_pick:       # 컴퓨터의 선택과 사용자의 선택이 똑같다면
        print("무승부입니다.")

    elif result in user_win_case:   # 사용자가 승리할 경우의 가짓수를 담은 리스트 안에 일치하는 값이 있다면
        print("이겼습니다.")
        user_win_count += 1

    else:
        print("졌습니다.")
        com_win_count += 1

    print(f"현재 스코어는 computer: {com_win_count} vs user: {user_win_count} 입니다.")

# 최종 결과 출력
if com_win_count == 2:
    print("computer가 이겼습니다.")

elif user_win_count == 2:
    print("user가 이겼습니다.")

 

 

sub file (사용자와 컴퓨터의 선택값을 반환하는 함수)

 

import random # 임의의 숫자를 무작위로 추출하기 위해 설정

def picked(): # 사용자와 컴퓨터의 가위, 바위, 보 선택

    answer = ['가위', '바위', '보'] # 선택할 수 있는 범위

    while True: # 선택 범위에 존재하는 입력값을 받을 때까지 반복
          user_pick = input("가위, 바위, 보 중 1개를 입력해주세요.")
          if user_pick in answer:        # 입력값이 선택 범위에 포함되어 있다면
                break                    # 반복문 탈출
          else:
               print("다시 입력해주세요.")

    random_num = random.randint(0,2)     # 0~2 중 랜덤으로 1개의 숫자를 추출
    com_pick = answer[random_num]        # 해당 숫자를 인덱스로 활용하여 선택범위(answer)의 한 요소를 추출
    return com_pick, user_pick           # 최종적으로 컴퓨터와 사용자의 선택값을 반환

 

실행 화면