if문이 yes or no, true or false로 조건을 받아 실행하는 조건문인 반면 while은 if와 같이 파이썬의 제어문이면서 반복해서 실행문을 수행해야 할 때 사용할 수 있다.

 

 

while 반복문이란?

while은 영문법을 한글로 가져오면 ~~ 하는 동안에, ~~ 하는 중에 이렇게 해석된다.

파이썬에서도 마찬가지로 예를들면 [ while a < 5 : ] 이렇게 쓰인 조건식은 a가 5보다 작은 동안에 로 해석할 수 있다. 그럼 while은 a가 5보다 작은 동안에 조건식을 반복한다.

 

예문

num = 0                                #반복 횟수를 저장할 변수 선언
while num < 5 :                        #num이 5보다 작은 동안에
    num = num + 1                      #실행문을 반복 (num=num+1은 반복횟수 1씩 증가)
    print("%d번 반복했습니다." % num)    #실행문을 반복 (num만큼 반복했다는 출력)
    if num == 5 :                      #만약 num이 5와 같아지면(while문을 5번 반복하면)
        break                           #while 반복문 나가기

먼저 반복한 횟수를 저장할 정수 0을 변수에 넣어 만들어주고

while 조건식에 들어가서는 한바퀴 돈다는 표시의 +1을 해주어 num을 0에서 1로 만들어준다.

' if num == 5: ' 이 문장으로 num이 5가 될 때까지 print문장을 실행하다 if를 만족하면 break로 끝난다.

 

 

break와 continue

break는 반복문에서 강제로 빠져나갈 수 있게 도와주는 역활을 한다. 위의 예문에도 사용되었지만 예를 들어 1부터 50까지 출력하는 프로그램이 있다고 생각해 보자.

num = 0                                # 반복 횟수를 저장할 변수 선언
while num < 50 :                       # num이 5보다 작은 동안에
    num = num + 1                      # 계속 num에 1씩 더해 넣음.
    print("%d" % num)                  # 숫자 출력출력
    if num == 50 :                     # 만약 num이 50와 같아지면(while문을 50번 반복하면)
        break                          # 빠져 나간다

쉽다. 50보다 작은 동안만 반복하다 num이 50이되어 조건이 만족되면 break문으로 빠져나가 끝이 난다.

 

 

반면에 continue문은 끝을 내는 대신 특정 조건에 while문 처음으로 돌아가 다시 반복할 수 있게 도와준다.

1부터 50까지 출력하지만 홀수(1, 3, 5, 7, 9....)만을 가져와 보여주는 프로그램을 만들어보자.

num = 0
while num < 50 :
    num = num + 1
    if num % 2 == 0 : continue  # num을 2로나눌 때 0으로 나눠떨어지면(짝수) while문 처음으로 돌아감
    print("%d" % num)           # 위 조건문으로인해 짝수는 여기까지 닿지 않음(홀수만 출력)
# 위 코드 실행 결과
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41
43
45
47
49

continue문으로 인해 홀수만 걸러져서 출력된다.

continue를 쓰지 않으면 당연하지만 짝수만 출력될 것이다.

 

파이썬에서 일반 나눗셈은 ' / ' 이고 ' % ' 는 두 값을 나눗셈해 준 뒤 나오는 나머지를 반환해주는 연산자이다.

3 / 2 = 1.5

3 % 2 = 1

 

비교 연산자와 산술 연산자에 관한 내용은

 

에 설명이 되어 있다.

 

 

 

무한루프

while True:
    print("무한 루프를 하고 있습니다.")

조건식 자리에 Ture(참)을 써넣어 주면 아래 실행문이 무한히 반복된다.

'Ctrl + c'키로 빠져나갈 수 있다. 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기