개발 같이해요/PYTHON

[ python ] 파이썬으로 가위바위보 게임 만들기 (random 모듈 과 조건문 )

Rio - Moon 2024. 11. 11. 14:36
728x90
반응형

 

 

이번 포스팅에서는 파이썬 을 좀 더 잘 익히기 위해 간단한 프로젝트를 진행해보겠습니다.

가위바위 인데요, 파이썬의 기초 문법과 조건문, 그리고 random 모듈의 사용법을 익혀보도록 하겠습니다

그 외에 파이썬의 연사자 와 함수 에 대해 궁금하시면 아래 포스팅을 같이 참고해주세요


✅  파이썬 프로젝트 정리

[ python ] 파이썬으로 카운트다운 타이머 만들기 (time 모듈 과 while문 )

 

✅  연산자 문법 정리

 

 

 


 

 

# 1. 가위바위보 게임 구현을 위한 필수 개념

 

  • 조건문 (if-elif-else): 가위바위보 게임의 결과를 결정하기 위해 사용됩니다. 사용자의 선택과 컴퓨터의 선택을 비교하여 이기는 조건을 정의합니다.
  • 랜덤 모듈: 컴퓨터의 선택을 무작위로 하기 위해 파이썬의 random 모듈을 사용합니다.
  • 반복문: 사용자가 게임을 반복해서 즐길 수 있도록 게임 루프를 구현합니다.

 

 

 

 

# 2. 파이썬 가위바위보 게임 구현

 

가위바위보 게임은 사용자와 컴퓨터가 가위, 바위, 보 중 하나를 선택하여 승패를 결정하는 간단한 게임입니다.

아래는 간단한 가위바위보 게임의 파이썬 코드 입니다. 이 코드를 통해 간단한 게임을 만들어 보세요.

 

import random

def rock_paper_scissors():
    choices = ["가위", "바위", "보"]
    while True:
        user_choice = input("가위, 바위, 보 중 하나를 선택하세요 (종료하려면 '종료' 입력): ")
        if user_choice == '종료':
            print("게임을 종료합니다.")
            break
        if user_choice not in choices:
            print("잘못된 입력입니다. 다시 시도해주세요.")
            continue

        computer_choice = random.choice(choices)
        print(f"컴퓨터의 선택: {computer_choice}")

        if user_choice == computer_choice:
            print("무승부입니다!")
        elif (user_choice == "가위" and computer_choice == "보") or \
             (user_choice == "바위" and computer_choice == "가위") or \
             (user_choice == "보" and computer_choice == "바위"):
            print("당신이 이겼습니다!")
        else:
            print("컴퓨터가 이겼습니다!")

rock_paper_scissors()

 

코드는 간단하게 구현이 가능한데요. 설명을 드리도록 하겠습니다.

 

먼저 가위바위보 게임 의 로직 입니다.

 

가위바위보 게임 로직

 

코드의 상세 설명입니다.

 

  1. 랜덤 모듈 임포트: import random을 통해 파이썬의 random 모듈을 가져옵니다. 이 모듈을 사용하여 컴퓨터의 선택을 무작위로 결정할 수 있습니다.

  2. 게임 함수 정의: rock_paper_scissors() 함수를 정의하여 게임의 전체 흐름을 관리합니다.

  3. 사용자 입력 처리: input() 함수를 통해 사용자의 선택을 입력받습니다. 사용자가 '종료'를 입력하면 게임이 종료되도록 break 문을 사용합니다.

  4. 컴퓨터 선택: random.choice(choices)를 사용하여 컴퓨터가 무작위로 가위, 바위, 보 중 하나를 선택하게 합니다.

  5. 승패 결정: 조건문을 사용하여 사용자의 선택과 컴퓨터의 선택을 비교합니다.
    1. 무승부: 사용자와 컴퓨터가 같은 선택을 했을 경우 "무승부"를 출력합니다.
    2. 사용자 승리 조건: 예를 들어, 사용자가 "가위"를 선택하고 컴퓨터가 "보"를 선택했을 때, 사용자가 승리합니다. 이러한 조건들을 elif 문으로 정의합니다.
    3. 컴퓨터 승리 조건: 위의 조건에 해당하지 않는 경우 컴퓨터가 승리합니다.
  6. 게임 반복: while True:를 사용하여 사용자가 게임을 종료하기 전까지 계속해서 게임을 반복할 수 있도록 합니다.

 

 

 

 

 

# 3.가위바위 실행 

 

가위바위보 게임 프로그램을 실행하면 사용자가 가위,바위,보 입력할 수 있습니다.

예를 들어, 가위를 입력하면 다음과 같이 화면에 컴퓨터가 선택한 무작위 가위바위보가 보여지고, 결과가 출력됩니다.

 

가위, 바위, 보 중 하나를 선택하세요 (종료하려면 '종료' 입력): 가위
컴퓨터의 선택: 보
당신이 이겼습니다!

가위, 바위, 보 중 하나를 선택하세요 (종료하려면 '종료' 입력): 바위
컴퓨터의 선택: 가위
당신이 이겼습니다!

가위, 바위, 보 중 하나를 선택하세요 (종료하려면 '종료' 입력): 종료
게임을 종료합니다.

 

위와 같이 가위바위보 게임이 진행되며, 종료를 원하면 " 종료 "라고 메시지를 입력하면 됩니다.

 

 

 

# 4. 마무리

 

이번 포스팅에서는 파이썬의 조건문, random 모듈, 그리고 반복문을 활용하여 간단한 가위바위보 게임을 만들어 보았습니다.

이와 같은 작은 프로젝트를 통해 프로그래밍의 기본적인 개념을 익히고, 이를 실제 코드로 구현해 보는 경험을 쌓을 수 있습니다.

 

다음에는 파이썬으로 더 흥미로운 프로젝트에 도전하거나 점수 계산, GUI 를 통한 화면 구현 등 기능을 확장해 보는 것을 추천드립니다. 이번에 만든 간단한 가위바위보 게임 에 추가 기능을 개발 해보세요!

예를 들어,

 

  • 점수 계산: 게임이 반복되는 동안 사용자의 승리 횟수와 컴퓨터의 승리 횟수를 계산하여 최종 점수를 표시할 수 있습니다.

  • 그래픽 사용자 인터페이스(GUI): tkinter와 같은 라이브러리를 사용하여 간단한 그래픽 사용자 인터페이스를 추가하면 더 재미있는 게임이 될 수 있습니다.

  • 난이도 설정: 컴퓨터의 선택에 약간의 편향을 두어 난이도를 조절하는 기능을 추가할 수 있습니다.

이러한 확장을 통해 더 완성도 높은 가위바위보 게임 프로그램을 만들 수 있습니다.

 

 

 

 

 

반응형