컴퓨터가 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회 만에 맞췄어요.
#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;
}
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)
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) 수정
2021年05月20日 10:43
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,"회 만에 맞췄어요.")
여러번 돌려보면서 재밌었던 문제였네요 ᄒᄒᄒ
자바입니다
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
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
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회 만에 맞췄어요.
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
풀이 작성