Language/Python

[ Python ] 숫자 맞추기 게임 프로그램

곽수진 2021. 8. 29. 03:52
반응형
컴퓨터가 1에서 100 사이의 숫자를 무작위로 추출하고 사용자가 그 숫자를 맞추는 게임 프로그램 작성해보자.

 

import random

tries = 0
guess = 0
answer = random.randint(1, 100)
print(answer)

print("1부터 100사이의 숫자를 맞추시오")
guess = int(input("숫자를 입력하세요: "))

while guess != answer:
    if 1 <= guess <= 100:
        if guess > answer:
            print("입력값이 더 높음")
            tries += 1
            
        else :
            print("입력값이 더 낮음")
            tries += 1
        
        guess = int(input("숫자를 입력하세요: "))

    else:
        print("1부터 100 범위만 입력하세요: ")
        guess = int(input("숫자를 입력하세요: "))
        
        
        
if guess == answer :
    tries += 1
    print("정답입니다.")
    print("최대 시도 횟수는: ", tries)

 

결과값 출력 모습

 

▶️ print(answer) : 정확한 결과값이 나오는지 확인하기 위해 랜덤으로 결정되는 숫자 결과값을 먼저 출력해봄

▶️ 1부터 100까지의 범위가 아닌 경우에는 카운트 횟수에 포함시키지 않음

▶️ if 1 <= guess <= 100:

if 0 < guess and guess <101로도 표현 가능함

▶️ 위 프로그램은 사용자가 정확하게 점수를 맞출 때까지 반복하므로 반복 횟수를 미리 알 수 없음

while 반복문을 활용하기가 적당함

 

 


 

 

시도횟수를 최대 10번으로 제한하는 프로그램을 작성해보자.

 

import random

tries = 0
guess = 0
answer = random.randint(1, 100)
print(answer)

print("1부터 100사이의 숫자를 맞추시오")
guess = int(input("숫자를 입력하세요: "))

while guess != answer:
    if 1 <= guess <= 100:
        if guess > answer:
            print("입력값이 더 높음")
            tries += 1
            
        else :
            print("입력값이 더 낮음")
            tries += 1
        
        guess = int(input("숫자를 입력하세요: "))

    else:
        print("1부터 100 범위만 입력하세요: ")
        guess = int(input("숫자를 입력하세요: "))
        
    if tries == 10:
        print("최대 횟수는 10번입니다. 프로그램이 종료됩니다.")
        break
        
if guess == answer :
    tries += 1
    print("정답입니다.")
    print("최대 시도 횟수는: ", tries)

 

결과값 출력 모습

 

▶️ 11번째 시도할 경우 프로그램이 종료됨

if tries == 10:
    print("최대 횟수는 10번입니다. 프로그램이 종료됩니다.")
    break

 

 


 

 

최대 횟수는 5번으로 제한하고 5번을 넘어갈 경우 정답을 알려주는 프로그램을 작성해보자.

 

import random

tries = 0
guess = 0
answer = random.randint(1, 100)
print(answer)

print("1부터 100사이의 숫자를 맞추시오")
guess = int(input("숫자를 입력하세요: "))

while guess != answer:
    if 1 <= guess <= 100:
        if guess > answer:
            print("입력값이 더 높음")
            tries += 1
            
        else :
            print("입력값이 더 낮음")
            tries += 1
        
        guess = int(input("숫자를 입력하세요: "))

    else:
        print("1부터 100 범위만 입력하세요: ")
        guess = int(input("숫자를 입력하세요: "))
        
    if tries == 5:
        print("최대 횟수는 5번입니다. 프로그램이 종료됩니다.")
        print("정답은", answer, "입니다.")
        break
        
if guess == answer :
    tries += 1
    print("정답입니다.")
    print("최대 시도 횟수는: ", tries)

 

결과값 출력 모습

반응형