9-1. Python 기초 3. 조건문 if 예제 실습, 가위바위보 게임 프로그램 만들기

Ad Placeholder

if문만 활용해 직접 만들어보는 간단한 Python 게임

설명
Python의 if, elif, else 조건문을 활용하면 반복문 없이도 간단한 게임을 만들 수 있습니다. 이번에는 컴퓨터가 낸 선택과 사용자의 선택을 비교하는 가위바위보 게임을 만들어보면서 조건문의 활용법을 익혀보겠습니다.


가위바위보 게임 만들기

가위바위보는 조건문을 연습하기 좋은 간단한 예제입니다.

사용자가 가위, 바위, 중 하나를 입력하면 컴퓨터의 선택과 비교해서 승리, 패배, 무승부를 판단합니다.

게임의 기본 구조는 다음과 같습니다.

player = "가위"

computer = "바위"

if player == computer:

  print("무승부입니다.")

elif player == "가위" and computer == "보":

  print("플레이어 승리!")

elif player == "바위" and computer == "가위":

  print("플레이어 승리!")

elif player == "보" and computer == "바위":

  print("플레이어 승리!")

else:

  print("컴퓨터 승리!")

이 코드에서 핵심은 if, elif, else를 이용해 각각의 상황을 판단하는 것입니다.


직접 입력받도록 만들기

이번에는 사용자가 직접 가위바위보를 선택하도록 바꿔보겠습니다.

player = input("가위, 바위, 보 중 하나를 입력하세요: ")

computer = "바위"

if player == computer:

  print("무승부입니다.")

elif player == "가위" and computer == "보":

  print("플레이어 승리!")

elif player == "바위" and computer == "가위":

  print("플레이어 승리!")

elif player == "보" and computer == "바위":

  print("플레이어 승리!")

else:

  print("컴퓨터 승리!")

여기서는 input()을 사용해 사용자의 입력을 받고, if문으로 결과를 판단합니다.


잘못된 입력도 처리하기

사용자가 가위, 바위, 가 아닌 다른 값을 입력할 수도 있습니다.

이 경우에도 if문을 활용할 수 있습니다.

player = input("가위, 바위, 보 중 하나를 입력하세요: ")

computer = "바위"

if player not in ["가위", "바위", "보"]:

  print("잘못된 입력입니다.")

elif player == computer:

  print("무승부입니다.")

elif player == "가위" and computer == "보":

  print("플레이어 승리!")

elif player == "바위" and computer == "가위":

  print("플레이어 승리!")

elif player == "보" and computer == "바위":

  print("플레이어 승리!")

else:

  print("컴퓨터 승리!")

not in을 이용하면 특정 값이 목록에 포함되어 있지 않은지 확인할 수 있습니다.


컴퓨터가 랜덤으로 선택하게 만들기

지금까지는 컴퓨터가 항상 바위만 내기 때문에 실제 게임이라고 하기에는 조금 아쉽습니다.

Python의 random 모듈을 사용하면 컴퓨터가 무작위로 선택하도록 만들 수 있습니다.

import random

choices = ["가위", "바위", "보"]

player = input("가위, 바위, 보 중 하나를 입력하세요: ")

computer = random.choice(choices)

print("컴퓨터:", computer)

이제 컴퓨터가 세 가지 중 하나를 무작위로 선택합니다.

그리고 앞에서 만든 if문으로 승패를 판단하면 실제 가위바위보 게임이 완성됩니다.


완성된 가위바위보 코드

import random

choices = ["가위", "바위", "보"]

player = input("가위, 바위, 보 중 하나를 입력하세요: ")

computer = random.choice(choices)

print("컴퓨터:", computer)

if player not in choices:

  print("잘못된 입력입니다.")

elif player == computer:

  print("무승부입니다.")

elif player == "가위" and computer == "보":

  print("플레이어 승리!")

elif player == "바위" and computer == "가위":

  print("플레이어 승리!")

elif player == "보" and computer == "바위":

  print("플레이어 승리!")

else:

  print("컴퓨터 승리!")

이 프로그램은 반복문 없이 if, elif, else만으로 게임의 핵심 로직을 구현한 예제입니다.


여기서 연습해볼 것

코드를 직접 작성했다면 다음 기능을 추가해보는 것도 좋습니다.

  • 승리하면 "🎉" 출력하기
  • 패배하면 "😢" 출력하기
  • 사용자의 선택도 화면에 표시하기
  • "가위바위보 게임에 오신 것을 환영합니다!" 출력하기
  • player 대신 user_choice처럼 변수 이름 바꿔보기

특히 조건을 직접 변경해보면서 어떤 조건에서 어떤 결과가 나오는지 확인하면 if문을 이해하는 데 큰 도움이 됩니다.


마무리

조건문은 단순히 숫자를 비교할 때만 사용하는 문법이 아닙니다.

이번 가위바위보 예제처럼 사용자의 입력을 확인하고, 여러 상황을 비교해 게임의 결과를 결정하는 데에도 사용할 수 있습니다.

이번 예제에서 사용한 핵심 문법은 다음과 같습니다.

if → 조건 확인

elif → 다른 조건 확인

else → 나머지 상황 처리

and → 여러 조건을 동시에 확인

not in → 특정 값이 포함되지 않았는지 확인

random.choice() → 목록에서 무작위 값 선택

먼저 반복문 없이 조건문만으로 하나의 작은 프로그램을 완성해보는 것부터 시작해보세요. 이후 forwhile을 배우면 이 게임을 여러 번 플레이할 수 있도록 직접 확장할 수도 있습니다.

jiji

AI, Python, 생활정보와 정부 정책 정보를 쉽게 설명하는 정보 블로그입니다.

Ad Placeholder
Scroll to Top