안녕하세요 엘빈입니다. 저번 포스팅에서는 제어문 중 기본 문법인 if 문에 대해서 알아봤는데요. If문은 조건을 충족시킨다면 한번만 구문을 실행하는 방식이였습니다. 만약 조건을 만족했을때 여러 번 반복해서 실행하고 싶다면 어떻게 할까요? 이럴 경우 반복문을 활용해야 하는데요. 이번 포스팅에서는 반복문의 기본 문법인 while 문에 대해서 알아보겠습니다.
while문 기본구조
While문은 조건 검사를 충족하지 못할때까지 구문을 반복해서 실행하는 구조입니다. 예를 들어 인사 5번을 반복하는 코드를 짜고 싶습니다. 그러면 다음과 같이 작성합니다.
n = 0
while n<5:
print("Hello world")
n += 1
코드를 실행하면 "Hello World"가 5번 실행됩니다. 초기 n의 값은 0이였으나 구문을 한번 실행할 때마다 자기 자신에게 1을 더해줍니다. 결국 5번째 실행 이후 n이 5보다 작아 while 구문을 실행하지 못하는 것입니다.
이처럼 while문의 기본 구조는 다음과 같습니다.
While 조건문:
수행 구문
If 문과 상당히 유사하지만 수행 구문이 종료되었을때 while 조건문으로 돌어가 다시 조건을 충족하는지 검사한다는 차이점이 있습니다.
while문 활용
유의해야할 점은 계속 조건을 만족할 경우 while 구문이 무한으로 반복된다는 점입니다.
그렇다면 while 구문을 강제로 탈출하는 방법은 없을까요? 다음 코드를 작성해봅시다.
n = 0
while n>=0:
print("Hello world")
if n==5:
break
n+=1
다음 구문은 n이 0 이상일 경우를 조건으로 하고 있습니다. 초기값인 0부터 조건을 만족하고 이후에도 조건을 충족하지 못하는 경우가 없습니다. 무한으로 반복되는 것이죠.
하지만 if문을 사용해 n이 5일 경우 break문을 실행하라고 지정하였습니다. 조건문과 관계없이 break문은 while문에서 탈출할 수 있게 합니다.
만약 while문을 빠져나가지 않으면서 다시 처음으로 돌아가 반복하고 싶은 경우는 어떻게 해야할까요?
예를 들어 짝수인 경우 "Hello World" 출력을 한번 쉬는 것입니다.
n = 0
while n<5:
n+=1
if n%2==0:
continue
print("Hello world")
n이 2로 나눈 나머지가 0인 경우 continue문을 실행합니다. Continue는 while 맨 처음인 조건문으로 돌아가는 기능을 가지고 있습니다. 유용하게 사용되니 꼭 기억하세요
마무리
지금까지 while문에 대해서 알아보았는데요. 반복문은 실제 개발이나 알고리즘에서 중요하게 사용되는 개념이니 꼭 숙지하세요! 아마 개발자로 살아간다면 수도 없는 반복문을 구축하고 수정해야할 것입니다. 다음 포스팅에서는 또 다른 반복문 for문에 대해서 알아보겠습니다.
포스팅 읽어주셔서 감사합니다.
이전글