1 부터 100까지 숫자 중에 하나를 맞추는 간단한 게임 입니다.
게임 로직
랜덤 숫자 생성
random 모듈을 이용하여 1부터 100 사이의 랜덤 숫자를 생성합니다.
import random
def create_number():
return random.randint(1, 100)
사용자 입력 처리
사용자로부터 숫자를 입력받습니다. 입력값이 1부터 100 사이의 숫자인지 확인하고, 아니면 다시 입력을 요청합니다.
def user_input():
while True:
try:
guess = int(input("1부터 100까지 숫자를 입력하세요: "))
if 1 <= guess <= 100:
return guess
else:
print("1부터 100사이 숫자만 입력하세요.")
except ValueError:
print("숫자만 입력하세요.")
사용자 추측 검사
사용자가 입력한 숫자와 컴퓨터가 생성한 '정답'을 비교합니다. 입력한 숫자가 '정답'보다 큰지, 작은지, 아니면 정답인지를 알려줍니다.
def check_guess(guess, answer):
if guess < answer:
return "높은 숫자입니다."
elif guess > answer:
return "낮은 숫자 입니다."
else:
return "정답입니다."
게임 계속 여부 확인
정답을 맞춘 후에는 게임을 계속할지 묻습니다.
def continue_game():
while True:
user_input = input("계속하시겠습니까? (y/n): ")
if user_input.lower() in ['y', 'n']:
return user_input.lower() == 'y'
else:
print("잘못된 입력입니다. 'y' 또는 'n'을 입력해주세요.")
게임 로직 구현
위에서 만든 함수들을 결합하여 게임의 전체 로직을 만듭니다.
def play_game():
while True:
answer = create_number()
while True:
guess = user_input()
result = check_guess(guess, answer)
print(result)
if result == "정답입니다.":
print(f"축하합니다! 정답은 {answer}입니다.")
break
if not continue_game():
break
play_game()
전체 코드
import random
def create_number():
return random.randint(1, 100)
def user_input():
while True:
try:
guess = int(input("1부터 100까지 숫자를 입력하세요: "))
if 1 <= guess <= 100:
return guess
else:
print("1부터 100사이 숫자만 입력하세요.")
except ValueError:
print("숫자만 입력하세요.")
def check_guess(guess, answer):
if guess < answer:
return "높은 숫자입니다."
elif guess > answer:
return "낮은 숫자 입니다."
else:
return "정답입니다."
def continue_game():
while True:
user_input = input("계속하시겠습니까? (y/n): ")
if user_input.lower() in ['y', 'n']:
return user_input.lower() == 'y'
else:
print("잘못된 입력입니다. 'y' 또는 'n'을 입력해주세요.")
def play_game():
while True:
answer = create_number()
while True:
guess = user_input()
result = check_guess(guess, answer)
print(result)
if result == "정답입니다.":
print(f"축하합니다! 정답은 {answer}입니다.")
break
if not continue_game():
break
play_game()
프로그램 작동
배포
https://github.com/IdoCleanCode/python_project/tree/master/console-progrem/number-guessing-game