코딩도장

업앤다운 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개의 풀이가 있습니다. 3 / 10 Page

import random
computer = random.randint(1, 100)
N = 0
count = 0
while computer != int(N):
 try:
 N = int(input())
 if computer > N:
 print('UP')
 elif computer < N:
 print('DOWN')
 count += 1
 except:
 pass
print('정답 횟수 : ', count)

2021年07月28日 18:29

baek choi

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
number = random.randrange(1,101)
print('1~100의 한 숫자를 맞추시오')
tries = 0
while tries < 10:
 tries += 1
 guess = int(input("1~100 숫자 입력: "))
 if guess < number:
 print("up")
 elif guess > number:
 print("down")
 else:
 print("정답입니다. %d회 만에 맞췄어요." % tries)

2021年08月03日 16:17

hwa Daniel

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

가독성의 끝판왕을 보여드리겠읍니다

import random
Nunmer = random.randint(1, 101)
Count = 0
print("컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.\n이 숫자를 맞춰주세요.")
while True:
 Answer = int(input("1~100 숫자 입력 : "))
 Count += 1
 if Answer == Nunmer:
 print("정답입니다! {}회 만에 맞췄어요.".format(Count))
 break
 elif Answer > Nunmer:
 print("DOWN")
 elif Answer < Nunmer:
 print("UP")
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
package coding_Test.UP_DOWN_Number;
import java.util.Scanner;
public class main {
 public static void main(String[] args) {
 System.out.println("컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다. \n이 숫자를 맞춰주세요.");
 int count = 1;
 int num = (int) (Math.random() * 100) + 1;
 Scanner sc = new Scanner(System.in);
 int num_enter = 0;
 while (num != num_enter) {
 System.out.print("1~100 숫자 입력:");
 num_enter = sc.nextInt();
 if (num > num_enter) {
 System.out.println("UP");
 count++;
 } else if (num < num_enter) {
 System.out.println("DOWN");
 count++;
 }
 }
 System.out.println("정답입니다! " + count + "회 만에 맞췄어요.");
 sc.close();
 }
}
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
ran=random.randint(1,100)
user=0
time=0
print('컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다. 이 숫자를 맞춰주세요.')
while ran!=user:
 user=int(input('1~100 숫자 입력:' ))
 time+=1
 if ran==user:
 print('정답입니다! %d회 만에 맞췄어요.' %(time)) 
 elif ran>user:
 print('UP')
 else:
 print('DOWN')

2021年08月08日 23:25

Percy

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
package main
import (
 "fmt"
 "math/rand"
 "strconv"
 "time"
)
func main() {
 fmt.Println("컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.\n이 숫자를 맞춰주세요.")
 timeSource := rand.NewSource(time.Now().UnixNano())
 random := rand.New(timeSource)
 randNum := random.Intn(100) + 1
 value := 1
 count := 0
 for {
 count++
 fmt.Print("1~100 숫자 입력:")
 fmt.Scanf("%d", &value)
 if value == randNum {
 fmt.Println("정답입니다! " + strconv.Itoa(count) + "회 만에 맞췄어요.")
 break
 } else if value > randNum {
 fmt.Println("DOWN")
 } else if value < randNum {
 fmt.Println("UP")
 }
 }
}

2021年08月11日 00:14

KiRist

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

2021年08月16日 15:49

BlakeLee

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

C#

using System;
namespace 업앤다운
{
 class Program
 {
 static void Main()
 {
 var game = new UpAndDownGame();
 game.StartGame();
 }
 }
 class UpAndDownGame
 {
 public UpAndDownGame()
 {
 Random rand = new Random();
 this.Answer = rand.Next(1, 101);
 }
 private int Answer { get; }
 public void StartGame()
 {
 Console.WriteLine("컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.\n이 숫자를 맞춰주세요.");
 int numTry = 0;
 while (true)
 {
 Console.Write("1~100 숫자 입력: ");
 string consoleInput = Console.ReadLine();
 numTry++;
 // Enter, null, whitespace(s)가 입력될 경우 0으로 간주
 int guessNumber = string.IsNullOrWhiteSpace(consoleInput) ? 0 : int.Parse(consoleInput);
 if (this.Answer == guessNumber)
 {
 Console.WriteLine($"정답입니다! {numTry}회 만에 맞췄어요.");
 break;
 }
 string message = this.Answer > guessNumber ? "UP" : "DOWN";
 Console.WriteLine(message);
 }
 }
 }
}
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
corNum = random.randrange(1, 101)
inpNo = 0
while True:
 inNum = int(input('1~100 숫자(정수 범위)를 입력하세요: '))
 inpNo += 1
 if inNum < corNum:
 print('UP')
 elif inNum > corNum:
 print('DOWN')
 else:
 print('정답입니다! {}회 만에 맞췄어요.'.format(inpNo))
 break

2021年08月19日 23:59

Charles

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import random
print('1~100사이의 숫자가 나옵니다\n알아맞춰보세요')
ran = random.randint(1,100)
n = 0
b = 0
while b != ran:
 try:
 b = int(input('숫자를 입력하세요 : '))
 except:
 print('"정수"를 입력해 주세요')
 continue
 if b > ran:
 print("DOWN")
 elif b < ran:
 print("UP")
 n += 1
print('정답이에요! ',n,'번만에 맞췄어요!!')

2021年08月22日 16:01

박건우

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

풀이 작성

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

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(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 によって変換されたページ (->オリジナル) /