린아저씨의 잡학사전

안녕하세요. 린아저씨 입니다.

이번 포스팅에서 파이썬 반복문 문법 중 while에 대해 알아보려 합니다.

 

while 반복문

while 반목문의 기본 구조 입니다.

 

while <조건문>:
    수행 코드1
    수행 코드2

 

<조건문> 부분에는 Boolen 값이 들어가야합니다. 즉 True 또는 False로 계산되는 값이 들어가야합니다.

 

예를 들어 아래와 같이 나타낼 수 있습니다.

 

x = 0

while x < 10:
    x += 1
    print('x='+x)

 

예제의 경우 변수 x의 초기 값은 0이고 x가 10보다 작다면 True가 되어서 x에 1씩 증가하면서 현재 x의 값을 출력하며 while 문이 실행 됩니다. 그리고 x에 1씩 증가하다가 x가 10이 되는 순간 while 조건문이 False가 되면서 while 문에서 탈출하게 됩니다.

 

while 반복문 강제로 빠져나가기

while 조건문이 False가 되기 전에 while문에서 빠져 나갈 수 있는 방법도 있습니다. 바로 break 문을 사용하는 것입니다. 위에 들었던 예제에서 if문과 break문을 추가해서 예제를 들어 보겠습니다.

 

x = 0

while x < 10:
    x += 1
    print('x='+x)
    if x == 5:
        print('x가 5가 되어 반복문을 탈출합니다.')
        break

 

이렇게 if문과 break 문을 이용해서 x가 1씩 증가하다가 5가 되는 순간 while문을 탈출 할 수 있습니다.

 

 

while 반복문을 이용해 무한루프 돌리기

앞서 while 조건문이 True일 경우 실행되고 False일 경우에는 실행되지 않는다고 말씀드렸습니다. 이 점을 이용하여 while 조건을 True로 명시한다면 영원히 빠져나오지 않는 반복문을 만들 수 있습니다.

 

while True:
    x = 0
    print(x)
    x += 1

 

이런 코드를 실행시킨다면, x가 0부터 무한히 1씩 증가하면서 출력될 것입니다. 이런 코드를 실행시켰다면, 'Ctrl + c' 를 눌러서 빠져나올 수 있습니다.

 

그럼 이런 무한루프는 어떻게 사용할 수 있을까요? 

 

가장 쉬운 예로는 특정 input 값을 받기 전까지 계속해서 코드가 실행되게 하고 싶을 때 이용할 수 있습니다.

 

while True:
	stop_value = int(input('1을 입력할 때까지 반복 됩니다.'))
    if stop_value == 1:
        break

 

이상으로 while 반복문에 대해 알아보았습니다. 기본적인 문법이므로 꼭 숙지할 필요가 있을 것 같습니다! 끝!

공유하기

facebook twitter kakaoTalk kakaostory naver band