python while문 기본부터 예제까지

python 제어문에는 while문도 있습니다. 이번에는 python while문의 기본부터 예제까지 알아보도록 하겠습니다. 

while문이란?

while문은 조건이 참인 동안 원하는 코드를 반복적으로 실행합니다. 반복적으로 실행하다가 조건이 거짓이 되면 반복을 종료하게 됩니다. 참과 조건에 대해서는 이전에 작성한 [python] bool을 참고하시면 도움이 됩니다.

while문 맛보기 예제

1부터 5까지 출력하는 코드를 작성해 보도록 하겠습니다. i를 1로 설정하고 i가 5보다 같거나 작으면 i를 출력하고 i를 1 증가합니다. 그렇게 반복하다가 i가 6이 되는 순간 조건이 거짓이 되어서 while문은 종료가 됩니다.

i = 1

while i <= 5 :
    print("i =", i)
    i = i + 1

출력을 하면 i = 1부터 시작하여 i = 5까지 출력하게 됩니다. 실행 결과를 보도록 합시다.

while문 예제
while문 예제

while문 무한루프 예제

while문 무한 루프는 어떻게 작성할지 고민해 봅시다. while문은 조건이 참일 때 계속 반복하기 때문에 조건이 항상 참이면 무한루프가 됩니다. 그럼 간단한 예제를 작성해 보겠습니다. 77monkey 문자열을 계속 출력하도록 하는 예제입니다. 

while True:
    print("77monkey")

실행을 하면 다음과 같이 반복적으로 77monkey를 출력하는데 이 때 중지하는 방법은 ctrl + c를 누르시면 됩니다. 그러면 keyboardInterrupt 라는 log가 나오면서 무한 루프에서 빠져나올 수 있습니다.

무한 루프 예제
무한 루프 예제

 

while문 break 예제

while문을 사용하다 보면 조건문이 아닌 경우에도 중단하길 원할 때가 있습니다. 이 때, break을 씁니다. 지금까지 배운 while문 예제를 통해서 break 예제를 만들어 보도록 하겠습니다. i = 1부터 시작합니다. while 무한 루프를 만나서 print로 i = 1를 출력하고 i를 1 증가시킵니다. 그리고 이전에 배운 if문을 통해서 확인합니다. i는 5보다 작기 때문에 다시 print로 i = 2를 출력합니다. 이렇게 반복하다가 i = 5를 출력하고 i는 1증가하여 6이 됩니다. 이 때 i는 5보다 크기 때문에 break문에 의해서 while문을 빠져 나가게 됩니다.

i = 1

while True:
    print(f"i = {i}")
    i += 1
    
    if i > 5:
        break

출력 결과를 보면 처음 예시와 동일한 결과를 얻는 것을 볼 수 있습니다. 

while문 break 예제
while문 break 예제

while문 continue 예제

while문에서의 continue는 break와는 다르게 while문 조건으로 돌아가서 진행하게 됩니다. 즉 continue를 하게 되면 그 아래 코드들은 실행되지 않게 됩니다. 아무래도 말보다는 예제를 통해서 알아보도록 합시다. 

짝수만 출력하도록 이전 break 예제에서 좀 더 변형하여 진행해 보겠습니다. 조건문이 True이기 때문에 i를 1 증가합니다. 그 후 코드를 보면 i % 2 가 True인 경우는 홀수입니다. 그렇기 때문에 홀수인 경우에 continue를 진행하게 됩니다. 이러면 다시 while문 조건으로 가게 되는데 True이기 때문에 i를 1 증가시킵니다. i가 5보다 큰 경우에 break을 통해서 while문을 빠져나가게 됩니다. 지금은 i는 2이기 때문에 i = 2를 출력합니다. 그 후 코드는 비슷한 흐름대로 진행되어 i = 3일 때 continue가 되고, i = 4일 때 출력이 되고, i = 5일 때 continue 됩니다. 마지막으로 i = 6일 때 while문에서 빠져 나가게 됩니다.

i = 0

while True:
    i += 1

    if i % 2 :
        continue
  
    if i > 5:
        break

    print(f"i = {i}")

출력 결과는 말씀드린대로 짝수만 출력하게 됩니다. 이제 슬슬 실행 결과가 예상이 될 것으로 생각됩니다. 

while문 continue 예제
while문 continue 예제

python while문 클리어

오늘은 python while문에 대해서 알아보았습니다. python while문을 사용할 때 조건문 또는 while문 내부에서 종료 조건이 잘 작성되었는지 확인해야 합니다. 확인하지 않고 진행했다가는 무한루프에 빠질 수 있습니다. python while문 이제 클리어하셨을 것으로 생각되며 글을 마무리 짓겠습니다.