본문 바로가기
Programming/Python

컴퓨터와 가위바위보 하기 (for in 반복문 이용) - 파이썬 (Python) 문법

by 심코딩 2022. 5. 11.

오늘은 굉장히 간단하지만 처음 코딩을 배우는 사람들이면 매우 재밌게 할 수 있는 코드 하나를 가지고 왔습니다!

 

바로 자동으로 컴퓨터와 가위바위보를 처리하는 코드입니다.

 

from random import randint

RSP = {"Rock", "Scissors", "Paper"}

for i in range(5):
    comRSP = randint(1,3)
    myRSP = int(input("1.Rock 2.Scissors 3.Paper"))

# 내가 바위 냈을 경우
    if myRSP == 1:
        if comRSP == 1:
            print("You: Rock!, Computer: Rock!")
            print("DRAW!")
        elif comRSP == 2:
            print("You: Rock!, Computer: Scissors!")
            print("YOU WIN!")
        else:
            print("You: Rock!, Computer: Paper!")
            print("COMPUTER WIN!")
# 내가 가위 냈을 경우
    if myRSP == 2:
        if comRSP == 1:
            print("You: Scissors!, Computer: Rock!")
            print("COMPUTER WIN!")
        elif comRSP == 2:
            print("You: Scissors!, Computer: Scissors!")
            print("DRAW!")
        else:
            print("You: Scissors!, Computer: Paper!")
            print("YOU WIN!")

# 내가 보 냈을 경우
    if myRSP == 3:
        if comRSP == 1:
            print("You: Paper!, Computer: Rock!")
            print("YOU WIN!")
        elif comRSP == 2:
            print("You: Paper!, Computer: Scissors!")
            print("COMPUTER WIN!")
        else:
            print("You: Paper!, Computer: Paper!")
            print("Draw!")

간단한 코드이지만 그래도 자세히 분석을 해보도록 하자.

 

from random import randint

 

random 모듈을 가져온다. 거기서 randint(랜덤정수)를 뽑아주는 것을 가져온다.

모든 무작위로 진행이 되는 것들 (e.g. 투표, 사다리타기, 가위바위보 ... )는 이 random 모듈을 통해 구현이 가능하다.

 

RSP = {"Rock", "Scissors", "Paper"}


for i in range(5):
 comRSP = randint(1,3)
 myRSP = int(input("1.Rock 2.Scissors 3.Paper")

가위바위보로 할 수 있는 것들은 총 3가지 (Rock, Scissors, Paper) 이다.

 

가위바위보는 5번 반복할 것으로 할거기 때문에 반복문은 5번만 반복.

컴퓨터가 내는 것 (comRSP)는 선택지 3개 중 랜덤으로 나올 것이기 때문에 randint(1,3)

내가 내는 것 (myRSP)는 내가 입력(input) 할 수 있도록.

 

# 내가 바위 냈을 경우
    if myRSP == 1:
        if comRSP == 1:
            print("You: Rock!, Computer: Rock!")
            print("DRAW!")
        elif comRSP == 2:
            print("You: Rock!, Computer: Scissors!")
            print("YOU WIN!")
        else:
            print("You: Rock!, Computer: Paper!")
            print("COMPUTER WIN!")

내가 바위를 냈을 경우 즉 if myRSP == 1:

컴퓨터가 바위를 낸다면 (1), 비길 것이고 (DRAW 출력)

컴퓨터가 가위를 낸다면 (2), 내가 이길 것이고 (YOU WIN 출력)

컴퓨터가 보자기를 냈을 경우 (3), 내가 질 것이다 (COMPUTER WIN 출력)

 

이 것을 내가 가위를 냈을 경우와 보자기를 냈을 경우 총 3가지를 나타내면 끝이다.

 

어떻게 보면 조금 노가다기도 하고, 더욱더 간단한 코드로 나타낼 수 도 있지만 일단 일차원적으로 내가 정말 초보일 때 만들어본 코드이다.

댓글