인프런 커뮤니티 질문&답변

김명수님의 프로필 이미지
김명수

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

반복문 질문

작성

·

182

0

data = input()

 

while data != '4321':

   print('아닙니다.')

   

   break

 

print('맞습니다.')

 

수업에서 얼핏 다뤄주셨던 부분이었는데, 어디 있는지 도저히 찾지 못해서 여쭤봅니다.

여기서 4321이 아닌 다른 숫자를 입력했을 경우, 무한으로 반복되는 '아닙니다.'를 막을 수 있는 방법이 무엇일까요?

break를 쓰니, '아닙니다'와 '맞습니다'가 동시에 나옵니다. 

감사합니다. 

답변 1

0

안녕하세요. 처음 배우실 때면, 프로그래밍이 참 쉽지 않음을 느끼실 수 있으실텐데요.

한참 시간이 걸리긴 합니다. 그동안 지금 해보신대로, 여러번 스스로 궁리해보며 해보시면 일정 시간이 흐른 후에는 프로그래밍이 되실꺼예요. 지금 잘하고 계시는 것 같습니다.

말씀하신 코드는 다음과 같이 작성하시면 됩니다.

data가 4321 이 아니면, while 문안에 print ('아닙니다') 를 출력하게 되구요

그 후에 다시 data = input() 코드를 실행하기 때문에, 새로 입력을 받게 되구요

새로 입력받은 값으로 다시 while data != '4321' 구문을 통해 4321인지를 판단하고, 4321이면 while 문은 이제 더이상 실행이 되지 않기 때문에, 최 하단부에 있는 print ('맞습니다')를 출력하게 됩니다. 

data = input()

while data != '4321':

    print('아닙니다.')

    data = input()

print('맞습니다.')

 

감사합니다.

김명수님의 프로필 이미지
김명수

작성한 질문수

질문하기