💻코딩 실습
타이핑 게임에서 배웠던 if 조건문과 while 반복문을 사용하여 가위 바위 보 게임을 만들어 보겠습니다.
이번엔 앞선 게임보다 더 많은 조건들을 사용하여 컴퓨터가 낸 가위 바위 보와 사용자가 입력한 가위 바위 보를 비교하여 승리와 패배 조건을 판단하여 전체 승률을 따져보는 게임을 만들어 봅니다.
리스트와 변수
import random
print('가위바위보 게임을 시작합니다!')
print("="*50)
game = ['가위', '바위', '보']
count = 0 #게임을 진행한 총 횟수를 세는 변수
win = 0 #여러분이 이긴 횟수를 세는 변수타이핑 게임과 같이 이번에도 랜덤한 값을 사용하는 random 을 import 해 줍니다.
print() 문을 통해 게임의 간단한 시작을 화면에 출력해 주고,
컴퓨터가 제시하는 랜덤한 값을 사용하기 위해
game 이란 이름의 리스트에 '가위', '바위', '보' 를 넣어 줍니다.
진행할 게임의 횟수는 총 6번인데 이 값을 넣어 줄 count 라는 변수와
사용자가 게임에 몇 번 승리 했는지 알려 줄 win 이란 변수를 만들고 각각 숫자 값 0을 넣어 줍니다.
1. 랜덤값과 입력 값
타이핑 게임에서 랜덤으로 동물들 이름을 선택했던 명령어가 기억나시나요?
random.choice()를 통해 이번에도 game 리스트에 담겨있는 '가위', '바위', '보' 중 하나를
랜덤으로 선택하여 대결에서 컴퓨터가 제시하게 할 것 입니다.
answer 변수에는 input() 명령어를 통해 화면에서 참여자에게 값을 입력 받게 합니다.
만약 참여자가 '그만'이란 값을 입력하면 break 명령문을 통해 while 반복문은 종료되게 됩니다.
마지막으로 다음 게임을 위해 count 변수에 1을 더해 줍니다.
2. 결과 출력
print() 문을 통해 화면에 결과를 출력해 줍니다.



(어떤 차이가 있는지 보이시나요?)
결과 비교
if조건문은 앞에 타이핑 게임에서 사용했지만 아래 elif는 무엇인가요? 라고 질문하는 소리가 들리네요.
여러가지 조건들을 동시에 판단해야 할 때 if 조건문과 함께 elif와 else 조건문이 함께 사용 됩니다.
elif 는 else if 의 의미를 가지는데 만약 이 조건이 아니라 다른 조건이 맞다면 아래의 코드를 실행하세요
라는 의미 입니다.
제일 먼저 상단에 있는 if 조건들을 살펴 보고 아니라면 아래에 있는 elif 조건들을, 그것도 아니라면
마지막으로 else 에 있는 코드들을 실행하는 순서 입니다.
조금 복잡할 수 있지만 여러번 사용하다 보면 그 의미들을 이해할 수 있을 거에요!
컴퓨터가 가위를 내거나 바위 또는 보를 낼 수 있겠죠?(랜덤으로 선택된 값)
먼저 큰 틀은 위의 코드 처럼 3가지 조건입니다.
그리고 작은 단위의 사용자가 입력한 값들을 비교하는 조건들이 들어 가게 됩니다.
컴퓨터가 가위니까 사용자도 가위면 당연히 게임은 무승부 겠죠?
이렇게 3가지 경우와 가위 바위 보 이외에 다른 값을 입력하게 되면 else로 넘어가 정확한 단어를 입력해 달라고 출력 후 다시 while 반복문으로 이동하게 됩니다.
만약 사용자가 바위를 입력 했다면 승리하게 되겠죠? 이때 승리 값이 담길 win 변수에 1를 더해 줍니다.
정리해 보자면 먼저 큰틀의 조건(컴퓨터의 값 - 가위 바위 보)을 판단하고 그 안의 사용자의 값을(가위 바위 보) 비교하여 승리와 패배를 판단하여 print() 문을 통해 화면에 알려 줍니다.
마지막으로 print() 문으로 결과를 출력해 줍니다.
count 변수와 win 변수에 어떤 값이 담겨 있는지 알고 있죠?
반복문을 실행할 때 마다 증가하는 count 변수는 게임의 횟수를,
가위 바위 보 대결에서 승리할 때 마다 승리 결과 횟수를 win변수에 보관 하였습니다.
대결에서 참여가자 5번 이상 승리 하였다면 "미션 클리어"를
5번 미만이라면 "다시 도전해 주세요" 문구를 화면에서 보여 주게 조건문을 작성해 줍니다.

Last updated