2025년 3월 18일 화요일

파이썬 기초 : 숫자 맞추기 게임을 제작해 보자

 컴퓨터가 무작위로 생성한 숫자를 사용자가 맞추는 게임을 만들어 보겠습니다.



import tkinter as tk
import random

class 숫자_맞추기_게임:
    def __init__(self, master):
        self.master = master
        master.title("숫자 맞추기 게임")

        self.정답 = random.randint(1, 100)
        self.시도_횟수 = 0

        self.label = tk.Label(master, text="1부터 100 사이의 숫자를 맞춰보세요!")
        self.label.pack()

        self.entry = tk.Entry(master)
        self.entry.pack()

        self.button = tk.Button(master, text="확인", command=self.확인_버튼_클릭)
        self.button.pack()

        self.결과_label = tk.Label(master, text="")
        self.결과_label.pack()

    def 확인_버튼_클릭(self):
        try:
            추측 = int(self.entry.get())
            self.시도_횟수 += 1

            if 추측 < self.정답:
                self.결과_label.config(text="너무 작습니다! 더 큰 숫자를 입력하세요.")
            elif 추측 > self.정답:
                self.결과_label.config(text="너무 큽니다! 더 작은 숫자를 입력하세요.")
            else:
                self.결과_label.config(text=f"축하합니다! {self.시도_횟수}번 만에 숫자를 맞추셨습니다.")
                self.button.config(state=tk.DISABLED)  # 버튼 비활성화
                self.entry.config(state=tk.DISABLED) # 입력창 비활성화

        except ValueError:
            self.결과_label.config(text="잘못된 입력입니다. 숫자를 입력해주세요.")

root = tk.Tk()
게임 = 숫자_맞추기_게임(root)
root.mainloop()
-----------------------------------------------
코드 설명:

  1. import random: random 모듈을 가져와 무작위 숫자를 생성합니다.
  2. 숫자_맞추기_게임() 함수: 게임의 전체 로직을 포함합니다.
  3. 정답 = random.randint(1, 100): 1부터 100 사이의 무작위 정수를 정답 변수에 저장합니다.
  4. 시도_횟수 = 0: 사용자의 시도 횟수를 저장하는 변수를 초기화합니다.
  5. print("1부터 100 사이의 숫자를 맞춰보세요!"): 게임 시작 메시지를 출력합니다.
  6. while True:: 무한 루프를 시작하여 사용자가 정답을 맞출 때까지 반복합니다.
  7. try...except ValueError:: 사용자 입력이 숫자가 아닌 경우 ValueError 예외를 처리합니다.
  8. 추측 = int(input("숫자를 입력하세요: ")): 사용자로부터 숫자를 입력받아 정수로 변환합니다.
  9. 시도_횟수 += 1: 시도 횟수를 1 증가시킵니다.
  10. if 추측 < 정답:: 추측한 숫자가 정답보다 작은 경우 "너무 작습니다!" 메시지를 출력합니다.
  11. elif 추측 > 정답:: 추측한 숫자가 정답보다 큰 경우 "너무 큽니다!" 메시지를 출력합니다.
  12. else:: 추측한 숫자가 정답과 같은 경우 "축하합니다!" 메시지를 출력하고 루프를 종료합니다.
  13. 숫자_맞추기_게임(): 게임을 실행합니다.

실행 방법:

  • 위 코드를 파이썬 파일 (예: number_guessing_game.py)로 저장합니다.
  • 터미널 또는 명령 프롬프트에서 해당 파일이 있는 디렉토리로 이동합니다.
  • python number_guessing_game.py 명령어를 실행합니다.

추가 기능:

  1. 난이도 조절: 숫자 범위 (예: 1부터 50, 1부터 200)를 변경하여 난이도를 조절할 수 있습니다.
  2. 시도 횟수 제한: 사용자가 시도할 수 있는 횟수를 제한할 수 있습니다.
  3. 힌트 제공: 사용자가 어려워하는 경우 힌트를 제공할 수 있습니다. (예: "정답은 짝수입니다.")
  4. 게임 재시작: 게임이 종료된 후 다시 시작할 수 있는 기능을 추가할 수 있습니다.

이 코드는 사용자 입력, 조건문, 반복문을 연습하는 데 도움이 될 것입니다. 추가 기능을 구현하여 게임을 더욱 재미있게 만들어 보세요!

댓글 없음:

댓글 쓰기

Recommended Posts

VRAM 8GB 이하 환경에서 스테이블 디퓨전 로컬 세팅 최적화 세팅방법

8GB VRAM 환경에서 스테이블 디퓨전 로컬 세팅은 최적화가 중요합니다. 다음은 모델, VAE, ControlNet, LoRA 등을 포함한 최적의 설정 방법입니다. 1. 스테이블 디퓨전 웹 UI 설치 (Automatic1111) 설치:  Automa...