직장인 난중일기

파이썬(Python) 무한 반복하기 본문

코딩공부/파이썬(Python)

파이썬(Python) 무한 반복하기

SStarter 2018. 11. 28. 08:40

 파이썬(Python) 무한 반복하기









while은 조건에 따라서 코드블록을 반복한다.

만약 조건이 '참'으로 '고정' 되어 있다면 어떻게 될까?

무한 반복되는 것이다.











위와 같이 조건이 항상 참으로 고정 되어 있으면 while문은 계속 계속 반복 되게 된다.


지금도 초보지만, 파이썬 공부 시작한지 일주일도 안된 생초보 때

뭘 잘 못 입력했는지 명령이 계속 반복 되서 당황한 적이 있었다.













당황해서 그냥 x 를 누르고 창을 꺼버렸는데

Ctrl + C 를 누르면 바로 탈출이 가능하다고 한다.


우리가 복사할 때 자주 쓰는 Ctrl + C 이니 

명령이 반복될 때 당황하지 말고 눌러보자.









무한반복, input, break 등을 응용하기





지금까지 배운 여러가지 것들을 응용할 수 있는 좋은 예제가 있다.

김왼손의 왼손코딩에서 나온 문제이다.


영국의 수도를 묻고,

만약 틀린 답을 말하면 답을 고를 때 까지 반복해서 질문하는 것이다.

정답을 맞히면 break를 사용하여 반복을 멈춘다.


이에 대한 코드는 아래와 같다.

















한 줄씩 뜯어 가면서 살펴 보자.


1번 째 줄에 while True: 를 넣어서 무한반복을 시켰다.

2번 째 줄에 input을 사용해 질문을 넣었고, 그 질문에 대한 답이 answer로 저장 되게 했다.


3번 째 줄에 if 문을 사용하여 '런던' 이라는 정답이 나왔을 때

'정답입니다. 런던은 영국의 수도입니다' 라는 걸 출력한 후 

break 를 넣어 반복을 끝낼 수 있게 했다.



나머지 줄에는 elif 및 else를 사용하여 정답인 '런던' 이 나올 때 까지 

오답 안내를 해줄 수 있게 코드를 짠거다.



아래는 도쿄, 파리, 서울, 런던을 각각 입력했을 때 결과 값이다.


'도쿄'를 입력한 경우 if, elif 어디에도 해당하지 않게 된다.

이런 경우 else 에 해당하므로 '보기에서 골라주세요' 라는 값이 출력된 것이다.


'런던'을 입력했을 때, 

if문의 조건을 충족하게 되므로 '정답입니다. 런던은 영국의 수도입니다' 라는 값의 출력 후

break 가 작동하여 반복을 끝내게 되는 것이다.


이렇게 무한반복과 break를 같이 써서 반복을 제어하게 되는 것이다.


이 예제 하나로 지금까지 배웠던 것들이 단번에 정리 되는 기분이다.

꼭 따라해보시길.






Comments