Skip to content

Instantly share code, notes, and snippets.

Created February 4, 2018 14:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/5a57a56606761dca54ec3a40ec4cd8ec to your computer and use it in GitHub Desktop.
Save anonymous/5a57a56606761dca54ec3a40ec4cd8ec to your computer and use it in GitHub Desktop.
import random
"""
numguess 숫자 맞추기 게임
만들어야 하는 것들
1. 맞출때 까지 나갈수 없도록 하기
- 맞추면 나갈수 있다.
2. 기회를 제한하기
-기회만큼만 반복문을 돌자.
3. 틀렸을경우 힌트를 제공하기
1. 입력한 숫자가 답보다 큰지 작은지 알려주기
사용자가 입력한 값이 정답이 아닐때 정답과 입력값을 비교하여 높은지 낮은지를 알려주자.
2. ...
3. ...
4. 사용자가 원할때 나갈수 있도록 하기
숫자 맞추기 게임 룰과 상관없이 나갈 수 있는 경우를 만들자.
반복문 안에서 해야할것들
- 사용자에게서 값을 입력받기
- 입력받은 값을 정답과 비교하기
- 틀렸을경우 도전기회 차감하기
- 도전기회를 모두 소모한 경우
- 사용자가 중도 포기할 경우
반복문 밖에서 해야할것들 (반복문 안에서 하면 안되는것들)
- 정답 만들기
(반복문안에서 정답을 계속 만든다면 어떤일이 벌어질까?)
- 도전기회 만들기
(반복문안에서 도전기회를 계속 만든다면 어떤일이 벌어질까?)
"""
answer = random.randint(1, 100) # 1에서 100 사이의 임의의 정수 추출하여 answer라는 변수에 집어넣는다.
trial = 5 # 5라는 정수를 trial이라는 변수에 집어 넣는다. (도전기회를 제한하기 위한 변수)
print("숫자 맞추기 게임을 시작하겠습니다.")
while True:
guess = int(input("정답을 입력하세요.\n"
"종료하시려면 0을 입력하세요.\n"
"Input >>> : ")) # 사용자 입력
# 0을 입력한 경우 (종료하고 싶다.)
if guess == 0: # (guess변수의 값이 0과 같다면)
print('다음에 또 만나요!')
break # 반복문은 break를 만나면 종료됩니다.
# 정답일 경우
elif guess == answer: # (guess변수의 값과 answer변수의 값이 같다면)
print("정답입니다.!!")
break # 반복문은 break를 만나면 종료됩니다.
# 정답이 아닌경우
else:
# 입력값이 정답보다 클경우 (높은경우)
if guess > answer:
print("정답은 입력하신 {}보다 낮아요.".format(guess))
# 입력값이 정답보다 작을경우 (낮은경우)
else:
print("정답은 입력하신 {}보다 높아요.".format(guess))
# 정답을 틀렸을경우 도전기회를 1깎는다.
trial -= 1
# 5번의 도전기회를 모두 소모했을경우
if trial == 0: # (trial변수의 값이 0과 같다면)
print("5번의 도전기회를 모두 소모 하셨습니다.\n"
"정답은 {}입니다. 까비".format(answer))
break # 반복문은 break를 만나면 종료됩니다.
# 5번의 도전기회를 모두 소모하지 않은경우 (도전기회가 남았다.)
else:
print("{}번 남았어요!!".format(trial))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment