본문 바로가기

강의/Python 기초

Chapter 2. 숫자 맞추기 게임

반응형

랜덤 숫자 생성과 정답 맞추기

이번 시간에는 파이썬으로 재미있는 숫자 맞추기 게임을 만들어 보겠습니다.

컴퓨터가 몰래 숫자를 하나 정하고, 우리는 그 숫자가 무엇인지 맞히는 게임입니다.

게임을 만들면서 랜덤(Random)조건문(if) 을 자연스럽게 배울 수 있습니다.


랜덤(Random)이란?

랜덤은 "무작위"라는 뜻입니다.

예를 들어,

  • 주사위를 던지면 어떤 숫자가 나올지 모릅니다.
  • 로또 번호도 랜덤으로 선택됩니다.
  • 게임 속 몬스터 등장 위치도 랜덤일 수 있습니다.

파이썬에서는 random 모듈을 사용하여 랜덤 숫자를 만들 수 있습니다.


랜덤 숫자 만들기

import random

number = random.randint(1, 10)

print(number)

코드 설명

  • import random
    • 랜덤 기능을 가져옵니다.
  • random.randint(1, 10)
    • 1부터 10 사이의 숫자 중 하나를 랜덤으로 선택합니다.

예시 결과

7

또 실행하면

3

다시 실행하면

10

매번 다른 숫자가 나올 수 있습니다.


숫자 맞추기 게임 만들기

import random

answer = random.randint(1, 10)

guess = int(input("1~10 사이 숫자를 입력하세요: "))

if guess == answer:
    print("정답입니다!")
else:
    print("틀렸습니다!")
    print("정답은", answer, "입니다.")

실행 결과

사용자가 정답을 맞춘 경우

1~10 사이 숫자를 입력하세요: 5
정답입니다!

사용자가 틀린 경우

1~10 사이 숫자를 입력하세요: 2
틀렸습니다!
정답은 8 입니다.

코드 이해하기

1. 컴퓨터가 정답 만들기

answer = random.randint(1, 10)

컴퓨터가 1~10 사이 숫자를 하나 선택합니다.

예를 들어

8

을 선택했다고 생각해 봅시다.


2. 사용자 입력 받기

guess = int(input("1~10 사이 숫자를 입력하세요: "))

사용자가 숫자를 입력합니다.

예시

5

3. 정답 확인하기

if guess == answer:

입력한 숫자와 정답이 같은지 비교합니다.

같으면

정답입니다!

출력됩니다.


조금 더 재미있게 만들기

힌트를 주는 게임으로 바꿔보겠습니다.

import random

answer = random.randint(1, 10)

guess = int(input("1~10 사이 숫자를 입력하세요: "))

if guess == answer:
    print("정답!")
elif guess < answer:
    print("너무 작아요!")
else:
    print("너무 커요!")

실행 예시

정답이 7일 때

입력: 3
너무 작아요!
입력: 9
너무 커요!
입력: 7
정답!

이번 시간 핵심 정리

✔ random 모듈을 사용하면 랜덤 숫자를 만들 수 있습니다.

✔ random.randint()로 원하는 범위의 숫자를 생성할 수 있습니다.

✔ input()으로 사용자 입력을 받을 수 있습니다.

✔ if 문으로 정답 여부를 확인할 수 있습니다.

✔ 게임을 만들면서 조건문과 랜덤 기능을 함께 연습할 수 있습니다.


직접 해보기

다음 기능을 추가해 보세요.

  1. 숫자 범위를 1~100으로 변경하기
  2. 정답을 맞출 때까지 계속 도전하기
  3. 몇 번 만에 맞췄는지 출력하기
  4. 게임 종료 후 다시 시작하기

이 기능들을 추가하면 훨씬 재미있는 숫자 맞추기 게임이 완성됩니다.


숫자 맞추기 게임 구조도 

반응형