-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
기회를 무한대로 주고, 정답이 나오면 멈출 수 있게 하려면 어떻게 해야하나요?
22.01.22 01:26 작성 조회수 308
1
while 문을 사용하여 만들고 싶은데,
while user_input==number:
만으로 예제를 바꿔서 해보니 되지 않습니다.. 어떤 방식으로 해야할까요?!
답변을 작성해보세요.
0
남박사
지식공유자2022.01.22
질문에 주신 내용처럼 while 문에 그런식으로 조건을 사용하려면
while user_input != number:
(입력 값이 다른 경우 루프)
이렇게 처리를 해야합니다. while 은 반복 조건문이 들어가야 하는데 user_input == number 는 종료조건이 되므로 조건문에 부합하지 않을듯 합니다.
그리고 위의 코드 처럼 while 문에 조건을 걸려면 while 문 진입전에 최초 input() 으로 입력을 받아야 user_input 값이 설정될테고 while 문 안으로 들어와서도 계속 input() 으로 입력을 받아야 하므로 그렇게 보기 좋은 코드는 아닐꺼라 생각됩니다.
import random
import os
cnt_try = 0
number = random.randint(1, 99)
os.system("cls")
print(f"1 부터 99 까지의 숫자를 맞춰보세요")
while True:
user_input = int(input("몇일까요? "))
cnt_try += 1
if number == int(user_input):
print(f"성공! {number} 이 맞습니다. {cnt_try} 회 시도")
break
elif user_input < number:
print(f"{user_input} 보다 큰 숫자 입니다. {cnt_try} 회")
elif user_input > number:
print(f"{user_input} 보다 작은 숫자 입니다. {cnt_try} 회")
위 코드는 말씀하신데로 횟수 제한 없이 정답을 맞출때까지 무한 반복하게 수정된 코드 입니다.
확인해보시기 바랍니다.
답변 1