inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

남박사의 파이썬 기초부터 실전 100% 활용

숫자 맞추기 게임 만들기 (파이썬 기초, 랜덤함수, 반복문, 조건문)

기회를 무한대로 주고, 정답이 나오면 멈출 수 있게 하려면 어떻게 해야하나요?

508

베이비비트박스

작성한 질문수 5

1

while 문을 사용하여 만들고 싶은데, 

while user_input==number:

만으로 예제를 바꿔서 해보니 되지 않습니다.. 어떤 방식으로 해야할까요?! 

python 웹-크롤링

답변 1

0

남박사

질문에 주신 내용처럼 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} 회")

 

위 코드는 말씀하신데로 횟수 제한 없이 정답을 맞출때까지 무한 반복하게 수정된 코드 입니다.

확인해보시기 바랍니다.

 

한글 변수의 한글 상태를 만드는 법?

0

59

1

38강 = 연산자 더하고 빼기

0

73

2

주석처리

0

129

1

함수의 파라미터값 msg

0

167

1

강의자료 이미지 안나옴

0

252

3

강의자료 질문 두번째

0

176

3

강의자료 관련 질문

0

124

1

파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.

0

248

1

소수 너무 어려워요

0

251

1

imagefont 함수 사용

0

245

1

pylint

0

362

1

add 함수 문의 ㅠㅠ

0

290

1

형식 문의드립니다.

0

220

1

변수 명을 왜 src, tar로 하셨는지 궁금합니다.

0

618

1

숫자야구 코드를 짜 봤는데 뭔가 이상합니다.

0

263

1

zsh: command not found: pylint

0

281

1

텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ

0

555

1

질문드립니다.

1

381

2

list.reverse() 출력에 대해서 질문있습니다.

1

441

1

데코레이터 함수 및 동작시간 질문입니다.~

1

337

2

opencv 사용하면서 궁금한점 (해상도)

1

789

1

질문드립니다.

1

306

1

아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?

1

451

1

크롤링안되는 현상 문의 드립니다.

1

433

1