파이썬에서는 for문 뿐만 아니라 while문을 사용하여 반복 명령을 수행할 수 있습니다. 보통 현업에서 데이터를 처리할 때에는 반복 횟수가 정해진 for문을 사용하는데요, for문 뿐만 아니라 while문에 대하여도 궁금증을 갖고 계신분들이 많아 while문에 대해 알아보도록 하겠습니다.
ROAS가 500% 아래로 내려갈 때까지 계속해서 광고를 돌려주세요!
우리는 광고에 대하여 이와 같이 클라이언트와 이야기할 수 있고, 이에 따라 광고의 ROAS(광고비 대비 수익률)를 계속적으로 모니터링해야합니다. 그런데 위와 같이 광고 지표를 모니터링해야 하는 상황의 경우 ROAS가 언제 500% 아래로 내려갈지 알 수 없기 때문에 for문으로 코딩하는데에는 한계가 있습니다. 이러한 경우에는 아래와 같은 예제처럼 while문을 사용하여 광고의 ROAS를 지속적으로 모니터링할 수 있습니다.
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
while문이란?
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
while문이란 조건식이 참(True)인 경우 실행문이 계속적으로 실행되는 파이썬 문법을 말합니다. for문과 동일하게 실행문이 반복 실행하지만, 그 반복횟수를 알 수 없는 경우 while문을 사용하여 효과적으로 코딩할 수 있습니다.
while문은 위의 코드처럼 while키워드를 사용하여 작성할 수 있습니다. while과 조건식을 작성하고 콜론을 입력한 뒤, 조건식의 다음 줄에 실행문을 작성하면 됩니다.
while문 중에서도 중간에 종료되지 않고 영원히 반복되는 while문을 무한 루프(Infinite loop)라고 부르기도 합니다.
while문의 조건식 작성하기
조건식이 참일 경우 실행문이 실행되므로, while문을 작성할 때에는 조건식이 참을 반환하도록 작성해야 합니다. while문의 조건식을 작성할 때에는 보통 아래의 형식으로 작성합니다.
1. 비교연산자가 True를 반환하는 경우
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
위 예제는 좌항과 우항의 값을 동등연산자(==)로 비교하여 True를 반환하는 예제입니다. 동등연산자 뿐만 아니라 다른 비교연산자(!=,>,<,>=,<=)도 사용하여 True를 반환하도록 출력할 수 있습니다.
(위 예제는 무한히 반복되므로 주피터노트북을 사용하는 이용자라면 상단 메뉴에서 kernel - interrupt를 눌러 while문의 실행을 중지시킬 수 있습니다)
2. 조건식에 True를 입력하는 경우
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
조건식에 True를 입력하면 계속적으로 while문이 실행됩니다. 매우 간단하게 while문을 작성하는 경우입니다.
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
프로그래밍에서 1은 True에 대응하기 때문에 위와 같이 작성해도 조건식에 True를 입력한 것과 동일하게 while문을 실행할 수 있습니다.
while문의 종료
while문의 조건식이 반환하는 값이 참이 아닐 경우 실행문의 실행이 종료됩니다. 참이 아닐 조건을 만들어주기 위해 비교연산자를 사용하여 조건식을 코딩하는데, 이에 대하여 아래의 예제를 살펴볼 수 있습니다.
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
위의 코드는 모든 광고예산이 소진될 때까지 while문이 실행되는 예제입니다. 처음 6백만원이었던 광고예산이 백만원씩 집행되면서 모든 광고예산이 0원이 될 때 while문이 종료되는 것을 확인할 수 있습니다.
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
break 키워드를 사용하면 while문을 임의로 종료할 수 있습니다. 그런데 위의 예제처럼break 키워드를 사용하면 while문의 실행문이 단 한 번만 실행되기 때문에 while문을 굳이 사용할 필요가 없는데요, 따라서 while문에 break 키워드를 사용할 때에는 아래에 소개하는 내용처럼 if문과 함께 사용하곤 합니다.
while문과 if문, break 키워드 함께 사용하기
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
if문과 break를 함께 사용하면 while문이 계속적으로 반복되는 중에, if문의 실행문이 실행될 때에만 break 키워드가 작동하여 while문이 종료됩니다.
while문으로 무한히 반복되는 가운데 특정 조건일 때에만 while문을 종료하고 싶다면, 위 예제처럼 while문과 if문, break 키워드를 함께 사용하여 코딩하면 됩니다.
while문과 else
powered by Advanced iFrame free. Get the Pro version on CodeCanyon.
if문에 else 키워드가 사용되는 것처럼 while문에도 else키워드를 사용할 수 있습니다. while문의 조건식이 참이 아닐 경우 while문은 중지되는 때, 이 때 else키워드를 사용했다면 위처럼 else문의 실행문이 실행됩니다.