코딩도장

업앤다운 UP&Down 숫자맞추기 게임

컴퓨터가 1~100 숫자(정수 범위) 중 하나를 랜덤으로 정합니다. (이를 알려주지 않습니다.)
사용자는 이 숫자를 맞추어야 합니다.
입력한 숫자보다 정답이 크면 → "UP" 출력,
입력한 숫자보다 정답이 작으면 → "DOWN" 출력.
정답을 맞추면 → "정답"을 출력하고, 지금까지 숫자를 입력한 횟수를 알려줍니다.

코딩 초보자라도 if 함수와 while함수, 랜덤 모듈 정도까지만 배워도 재미있게 풀 수 있는 문제입니다.

(예시)
컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.
이 숫자를 맞춰주세요.
1~100 숫자 입력:50
DOWN
1~100 숫자 입력:25
UP
1~100 숫자 입력:38
DOWN
1~100 숫자 입력:32
UP
1~100 숫자 입력:35
UP
1~100 숫자 입력:37
DOWN
1~100 숫자 입력:36
정답입니다! 7회 만에 맞췄어요.
조건문 반복문 if while 랜덤모듈 랜덤 random 난수

2021年05月20日 00:32

Katherine

(追記) (追記ここまで)
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

65개의 풀이가 있습니다. 1 / 7 Page

import random
trial = 0
x = random.randrange(1,101) #랜덤으로 1부터 100까지의 정수 하나 추출
print("""컴퓨터가 1~100 중 랜덤 정수 하나를 정합니다.
이 숫자를 맞춰주세요.""") #시작 멘트
while True:
 answer = int(input("1~100 숫자 입력: "))
 if answer < x:
 print("Up")
 trial+=1
 elif answer > x:
 print("Down")
 trial+=1
 else:
 trial+=1
 break
print("정답입니다! %d회 만에 맞췄습니다."%trial) 

2025年08月17日 20:49

허거덩

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
def numCheck(a):
 b = int(input("1-100 숫자 입력: "))
 if b > a: print("DOWN"); return True
 elif b < a: print("UP"); return True
 else: return False
a = random.randint(1,100)
chk = True
cnt = 0
while chk == True:
 chk = numCheck(a)
 cnt += 1
print(f"정답입니다! {cnt}회 만에 맞췄어요")

2025年02月25日 15:15

Dasol Lee

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
print("컴퓨터가 1~100중 숫자 하나를 랜덤으로 정합니다")
print("이 숫자를 맞춰 주세요")
num = random.randrange(1, 101)
# print(num)
inValue = 0
n = 0
while num != inValue:
 n += 1
 inValue = int(input("1~100중에서 숫자를 입력해 주세요: "))
 if num > inValue:
 print("UP")
 elif num < inValue:
 print("DOWN")
print("정답입니다." + str(n) + "번 만에 맞추셨습니다")
print("정답은" + str(inValue) + "입니다")

2024年10月17日 15:21

rgone6

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
A=0
B=0
number=int(random.randint(1,100))
while True:
 print("컴퓨터가 1~100 중 랜덤 숫자를 하나를 정합니다. \n 이 숫자를 맞춰주세요.")
 A = int(input("1~100 숫자 입력: "))
 B += 1
 if A > number:
 print("DOWN")
 elif A < number:
 print("UP")
 elif A == number:
 print("정답입니다 %s회 만에 맞췄어요" % B)
 break

2024年07月30日 21:49

YouTube Kr

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
num = random.randint(1,100)
your_num = 0
while num != your_num:
 your_num = int(input('숫자 :'))
 if your_num > num:
 print('down')
 elif your_num < num:
 print('up')
print('정답!')
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
from random import randint
n = randint(1, 100)
m = 0
cnt = 0
while True:
 m = int(input())
 if m == n:
 print(f"Got it. You've tried {cnt} times.")
 break
 elif m > n:
 print("Too high")
 else:
 print("Too low")
 cnt += 1

2023年08月04日 19:45

Hawk Lee

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
times = 1
num = random.randrange(1,101)
while True:
 times += 1
 user = int(input("Enter Number:"))
 if user > num:
 print("DOWN",user)
 elif user < num:
 print("UP",user)
 elif user == unm:
 print("You Right !!!")
 break
print("You succeeded in",times,"tries")

2023年07月06日 17:21

siu yoon

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
ans = random.randint(1, 100)
cnt, estimate = 0, 0
print('\n\n컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.')
print('이 숫자를 맞춰주세요.')
while ans != estimate:
 estimate = int(input('1~100 숫자 입력: '))
 if estimate < ans:
 print('UP')
 elif estimate > ans:
 print('DOWN')
 cnt += 1
print("정답입니다! {0}회 만에 맞췄어요.".format(cnt))

2023年07月01日 21:40

insperChoi

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
ran_num = random.randrange(1, 101)
count = 0
while(1):
 while(1):
 input_num = input("숫자 입력(1~100)")
 try:
 input_num = int(input_num)
 break
 except:
 print('잘못된 입력입니다. 재입력 하세요')
 count += 1
 if ran_num == input_num:
 print("정답")
 print("횟수 : {}".format(count))
 break
 elif ran_num > input_num:
 print("Up")
 else: #ran_num < input_num:
 print("Down")

2023年04月03日 09:54

HoHyeon Kim

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
answer=random.randint(1,100)
count = 0
a = int(input("1~100 사이의 숫자를 입력하세요."))
count = count + 1
while True:
 if answer == a:
 print("정답입니다. 총 %s번만에 맞추셨어요" %count)
 break
 elif answer > a:
 print("UP")
 a = int(input("1~100 사이의 숫자를 입력하세요."))
 count = count + 1
 if answer < a:
 print("DOWN")
 a = int(input("1~100 사이의 숫자를 입력하세요."))
 count = count + 1
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

풀이 작성

(注記) 풀이작성 안내
  • 본문에 코드를 삽입할 경우 에디터 우측 상단의 "코드삽입" 버튼을 이용 해 주세요.
  • 마크다운 문법으로 본문을 작성 해 주세요.
  • 풀이를 읽는 사람들을 위하여 풀이에 대한 설명도 부탁드려요. (아이디어나 사용한 알고리즘 또는 참고한 자료등)
  • 작성한 풀이는 다른 사람(빨간띠 이상)에 의해서 내용이 개선될 수 있습니다.
풀이 작성은 로그인이 필요합니다.
목록으로
코딩도장

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳입니다.

random x 2
반복문 x 2
if x 2
조건문 x 1
while x 1
랜덤모듈 x 1
랜덤 x 1
난수 x 1
연관 문제
Dr.Choi, 2024年02月10日 23:17
박준우, 2025年01月07日 21:54
김맹준, 2024年04月18日 23:50

언어별 풀이 현황
전 체 x 99
python x 65
기 타 x 16
java x 14
cs x 2
javascript x 1
go x 1
코딩도장 © 2014 · 문의 [email protected]
피드백 · 개인정보취급방침 · RSS

AltStyle によって変換されたページ (->オリジナル) /