나는 톡톡레몬

반응형

지난번 for 문으로 반복작업을 하는 코드를 만들어보았는데, 다른 방식으로 반복문을 만드는 방법을 알아보고자 합니다.

 

while 문 - 조건이 참일동안 반복하라

 

 

while 이라는 문구를 써서 for과 같이 반복 작업을 코딩할 수 있습니다. 형태는 ' while 조건 : ' 을 갖습니다. 영어에서도 while은 ~동안 이라는 의미를 갖습니다. 파이썬에서도 마찬가지인데 '조건 할 동안~' 이라고 보시면 됩니다. 즉 조건문이 True 일동안 while 문 아래 속해있는 명령어를 계속해서 수행해 주는것이죠. while 조건문에 맞지 않을 경우, 즉 False 상태가 되면 while문을 벗어나 다음 행으로 넘어가게 됩니다. 참 조건문을 써주고 나서 끝네 ' : ' 땡땡이 두개 붙이시는 것 잊지마시기 바랍니다.

 

예시를 살펴보죠. 6행) a 라는 변수가 0보다 클 동안, 7행) a를 출력해라, 8행) 그리고 나선 a 에서 1을 빼서 a에 다시 대입해줘라. 8행까지 끝나고 나면 파이썬은 다시 6행을 돌아가 판단을 합니다. 기존 a 값에서 1을 뺏는데 조건인 0보다 큰가? 하고 말이죠.

 

a 라는 변수의 처음값이 5였으므로 순차적으로 5,4,3,2,1 이 출력됩니다. 그렇게 반복하다 보면 a 는 0이 되게 됩니다. 그럼 6행에서 다시 판단을 하겠죠. ' 어라 a가 0이랑 같네 조건이랑 맞지 않는다! 조건에 맞지 않으므로 while 문은 그만둬야겠다' 라고 말이죠. 그럼 비로소 9행이 실시 됩니다. "Happy New year" 이라는 문자열 자료가 출력되겠네요.    

 

while 문 & break 문

 

 

앞서 while 문은 조건이 True 일동안 반복을 지속한다고 하였습니다. 그럼 조건을 쓰는 란에다가 True를 써버리면 어떻게 될까요? 그럼 그 while 문은 무한반복작업을 하게 됩니다. 이럴 경우 while문 내부에서 조건을 설정해 해당 조건에 맞을 경우 while 문을 빠져나오게끔 설정할 수있는데 그 때 사용하는 것이 break문입니다. 구성은 예시를 통해 알아보죠.

 

19행을 보시면 while 의 조건문 자리에 True 가 기재되어있습니다. 그 밑으로 명령문은 이제 무한 반복을 해야합니다. 20행에서 'b 칸왔어요' 를 우선 출력합니다. 17행에서 b의 초기값을 0으로 정의하였으니 '0 칸 왔어요' 라는 문구가 출력되겠네요. 그다음 21행에서 앞서 배운 if 문이 등장합니다. 만약 b가 5보다 크다면... 이라고 물어보지만 b는 0입니다. 파이썬은 무시해버리고 24행으로 직행하게 됩니다. 거기서 1을 더해 b는 1 값을 갖게됩니다. 

 

아직 while문이 끝나지 않았기 때문에 파이썬은 20행으로 돌아갑니다. '1칸 왔어요' 라는 문구를 출력하고 21행의 조건을 판단하고... 이런식으로 b가 5가 될때까지 반복하게 됩니다. 그러다가 b가 5가 되는 순간 21행에서 다른 판단을 하겠죠. '어라 b 가 5다. 도착이라는 문구를 출력하고 break 를 통해 while문을 그만해야겠다! ' 라고 말이죠. 결과값은 덕분에 오른쪽 사진처럼 출력되게 됩니다.

 

 

여기까지가 while 문과 break 문을 이용한 반복문 코딩 방법이었습니다. 파이썬 독학에 많은 도움 되셨으면 좋겠습니다.

읽어주셔서 감사합니다 ^-^

 

반응형

이 글을 공유합시다

facebook twitter googleplus kakaostory naver