본문 바로가기
코딩 따라하기

가위바위보 따라하기 (Coding rock-paper-scissors)

by 전자남성 2020. 11. 19.

가위바위보 따라하기 (Coding rock-paper-scissors)

 

이번에 할 코딩은 가위바위보입니다.

저는 가위바위보를 영어로 RPS.py이라는 파일명으로 만들었습니다.

 

import random

user = input("사용자 입력값: ")

com = random.choice(["가위", "바위", ""])

 

 

if com == "가위":

if user == "가위":

winner = None

elif user == "바위":

winner = "user"

else:

winner = "computer"

elif com == "바위":

if user == "가위":

winner = "computer"

elif user == "바위":

winner = None

else:

winner = "user"

else:

if user == "가위":

winner = "user"

elif user == "바위":

winner = "computer"

else:

winner = None

 

if winner == "computer":

print("컴퓨터: ", com)

print("승자 : ", "컴퓨터")

elif winner == "user":

print("컴퓨터: ", com)

print("승자 : ", "유저")

else:

print("컴퓨터: ", com)

print("승자 : ", "무승부")

 

이번 시간에는 뭉텅이로 코드를 체크하겠습니다. 크게 3개 뭉텅이로 정리해봤습니다.

1번째 뭉텅이는 파이썬에서 랜덤 패키지를 읽어오는 과정입니다.

이 부분에서 사용자가 가위바위보 중 하나를 입력하게 됩니다. 컴퓨터도 rando.choice로 괄호 안 리스트 값을 선택합니다.

, 괄호 안 가위바위보 중 하나를 선택하게 됩니다.

 

 

2번째 뭉텅이는 if, elif, else 문입니다.

if문에서 조건을 만족하지 않을 시 elif문으로 넘어오고, elif 조건을 만족하지 않을시 else문으로 넘어가게 됩니다.

이곳에서 사용자와 유저의 실질 가위바위보가 계산됩니다.

 

예를 들어 random.choice로 컴퓨터가 가위를 내는 경우입니다.

if문 내의 작은 if문에서 컴퓨터가 가위를 내고 유저가 가위를 내면 승자가 없게 됩니다.

if문 내의 작은 if문을 만족하지 않으면 elif문으로 넘어갑니다. 유저가 바위를 내는 경우고, 승자는 유저가 됩니다.

if문 내의 작은 앞 조건을 모두 만족하지 않으면 else문이 채택됩니다. 유저가 보를 내는 경우고, 승자는 컴퓨터가 됩니다.

 

if문을 만족하지 않으면 큰 elif문으로 넘어갑니다. 만약 큰 if문 큰 elif 문을 만족하지 못하면 큰 else문으로 넘어갑니다.

넘어간 후에는 각 조건 안에서 똑같이 가위바위보 시나리오를 진행하여, 작은 if, 작은 elif, 작은 else문으로 넘어갑니다.

2번째 뭉텅이가 끝나면, 3번째 뭉텅이로 넘어가게 됩니다.

 

2번째 뭉텅이 코드를 짤 때의 키포인트는 "winner = none"으로 설정한 것입니다.

"winner=none"을 다시 한 번 주의 깊게 체크해보시면 좋을 것 같습니다.

 

 

 

3번째 뭉텅이도 if, elif, else 문입니다. 또한 가위바위보 결과를 print 하는 뭉텅이이기도 합니다.

2번째 뭉텅이들 코드가 연결됩니다.

2번째 뭉텅이에서 winnernone일 경우, 3번째 뭉텅이에서 else를 출력하게 됩니다.

둘이 비기는 경우 "컴퓨터: ", "승자: 무승부"로 출력됩니다.

 

 

2번째 뭉텅이에서 winneruser일 경우, 3번째 뭉텅이에서 elif를 출력하게 됩니다.

사용자가 승리할 경우 "컴퓨터: ", "승자: 사용자"로 출력됩니다.

 

 

2번째 뭉텅이에서 winnercom일 경우, 3번째 뭉텅이에서 if를 출력하게 됩니다.

컴퓨터가 승리할 경우 "컴퓨터: ", "승자: 컴퓨터"로 출력됩니다.

 

 

 

 

 

 

 

VSCodeTERMINAL에서 오늘도 실행해보겠습니다.

C:\Users\ATIV\Downloads\myworks>python .\RPS.py를 칩니다.

 

 

 C:\Users\ATIV\Downloads\myworks>python .\RPS.py

사용자 입력값: 가위

컴퓨터:

승자 : 유저

 

C:\Users\ATIV\Downloads\myworks>python .\RPS.py

사용자 입력값: 가위

컴퓨터: 가위

승자 : 무승부

 

 

 

게임 결과가 나온 후 프로그램은 자동 종료됩니다.

가위바위보 코드도 여러 방법으로 만들 수 있으니, 원하는 방식에 맞춰 코딩하시면 좋을 것 같습니다.

댓글