코딩도장

업앤다운 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

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

99개의 풀이가 있습니다. 1 / 10 Page

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MIN 1 // 정답의 최소값
#define MAX 100 // 정답의 최대값
int main(void)
{
 int user_num; // 유저가 입력한 값
 int cnt = 1; // 숫자를 입력한 횟수
 int crt; // 정답
 srand(time(NULL));
 crt = (rand() % MAX) + MIN; // MIN~MAX중 랜덤한 숫자 리턴
 while(1) { 
 printf("%d~%d 숫자 입력:", MIN, MAX);
 scanf("%d", &user_num);
 if(crt == user_num) {
 printf("정답입니다! %d회 만에 맞췄어요.\n", cnt);
 break;
 }
 else if(crt < user_num) {
 puts("DOWN"); 
 }
 else {
 puts("UP");
 }
 cnt++;
 }
 return 0;
}

2022年05月10日 18:41

김병권

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
A=0
sxice=0
number=int(random.randint(1,100))
print('UP and DOWN 게임 시작!')
while not A==number:
 A=int(input())
 if A<number:
 print('UP')
 sxice+=1
 elif A>number:
 print('DOWN')
 sxice+=1
 else:
 print('정답입니다!!!!!')
 print('지금까지 입력한 횟수')
 print(sxice+1)

2022年08月28日 17:23

고양이 푸딩

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
a = random.randint(1,100)
n = 0
print("컴퓨터의 렘덤 숫자를 알아 맞혀보세요.(1~100 사이)") #print("") 수정
q = 0 #추가
while a != q:
 q = int(input("1~100 숫자 입력:")) #int( input("") ) 수정
 if q < a:
 print("up")
 elif a < q:
 print("down")
 n += 1
print("정답입니다.")
print("걸린 순서: "+str(n)) # n -> str(n) 수정
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
a = random.randint(1,101)
times = 1
while True:
 user = int(input("1~100 숫자 입력:"))
 if user > a: print("Down") ; times += 1 ; continue
 elif user < a: print("Up") ; times += 1 ; continue
 elif user == a: break
print("정답입니다!",times,"회 만에 맞췄어요.")
여러번 돌려보면서 재밌었던 문제였네요 ᄒᄒᄒ

2021年05月23日 16:31

ss2663

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
print('Up & Down Game!')
x = random.randint(1,100)
l = []
while 1 :
 y = int(input('1~100 :'))
 if x<y :
 print('down')
 l.append(y)
 continue
 elif x>y :
 print('up')
 l.append(y)
 continue
 else :
 print(f'정답! {len(l)}회!')
 break

2021年05月24日 11:17

약사의혼자말

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

자바입니다

package may24;
import java.util.Scanner;
public class While03 {
 public static void main(String[] args) {
 //사용자 입력
 Scanner sc = new Scanner(System.in);
 //랜덤 두자리
 int com = (int) (Math.random() * 99 + 1);
 int number = 0;
 while (true) {
 System.out.println("숫자를 입력해주세요.");
 int input = sc.nextInt();
 if(com < input) {
 System.out.println("Down");
 } else if(com > input){
 System.out.println("Up");
 } else {
 System.out.println(number+1 + "번만에 성공하셨습니다.\n축하합니다.");
 break;
 }
 number++;
 System.out.println(number + "번째 시도중입니다.");
 }
 sc.close();
 }
}

2021年05月24日 17:52

A-assasin Kr

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
from random import * 
number = randint(1,100)
print(number)
running = True
numbertimes = 0
while running:
 numbertimes +=1
 question = int(input("1~100 숫자 입력:"))
 if number > question:
 print("UP")
 continue
 elif number < question:
 print("DOWN")
 continue
 elif number == question:
 print("정답입니다! {0}회 만에 맞췄어요.".format(numbertimes))
 running = False

2021年05月28日 09:51

김재민

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

python 3.9.5입니다. 한줄코딩처럼 짧게 하기보다는 가독성에 더 신경을 썼습니다.

import random
print('컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.\n이 숫자를 맞춰주세요.')
answer = random.randint(1, 100)
times = 0
while True:
 times += 1
 num = int(input('1~100 숫자 입력:'))
 if num < answer: print('UP')
 elif num > answer: print('DOWN')
 else: break
print(f'정답입니다! {times}회 만에 맞췄어요.')

실행 결과입니다.

컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.
이 숫자를 맞춰주세요.
1~100 숫자 입력:50
DOWN
1~100 숫자 입력:25
DOWN
1~100 숫자 입력:12
UP
1~100 숫자 입력:18
UP
1~100 숫자 입력:21
DOWN
1~100 숫자 입력:19
정답입니다! 6회 만에 맞췄어요.

2021年05月30日 20:08

이준우

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
number = random.randrange(1,101)
print('1~100의 한 숫자를 맞추시오')
tries = 0
while True:
 tries += 1
 guess = int(input('선택:'))
 print('정답' if guess==number else 'UP' if guess>number else 'DOWN')
 if guess==number:
 print(tries)
 break

2021年06月03日 16:13

김준우

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
index = random.randint(1,100)
i = 0
while True :
 i = i+1
 print("1~100까지 맞추실 숫자를 입력하여 주세요")
 ranint = int(input())
 if ranint == index: print("정답입니다!{0}회 만에 맞추셨어요!".format(i));break
 elif ranint > index: print("DOWN")
 elif ranint < index: print("UP")

2021年06月05日 16:42

Zikill_ Hide

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

풀이 작성

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

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(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
기 타 x 16
python x 65
java x 14
go x 1
cs x 2
javascript x 1
코딩도장 © 2014 · 문의 [email protected]
피드백 · 개인정보취급방침 · RSS

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