본문 바로가기

python

python - 반복문(break, continue)

반복문(break, continue)
기본적으로 알아야 하는 반복분의 문법에 대해서는 다루지 않을 것입니다. for while이 있는데 기본적인 문법 보다는 어떻게 멈추고 지나가는지에 대해 정리해볼 것입니다. 반복문을 사용하다 보면 특정 상황에 반복문을 종료하거나 지나쳐야할 때가 있습니다. 첫번째로 반복문을 특정 상황에서 종료해야 하는 경우를 알아보겠습니다. 

상황을 종료하는 break
간단하게 설명을 했듯이 반복문을 사용하다 보면 특정 상황에 반복을 종료해야 하는 상황이 발생합니다. 예를 들면 시퀀스의 반복을 돌리다가 특정 값을 찾게 되면 반복문을 벗어나게 된다는 프로그램을 짜게된다는 것처럼 말입니다. 여기서 계속 등장하는 것이 '특정 상황'인데 그렇기 때문에 특정 상황을 명시하는 if문과 보통 같이 사용하게 됩니다. 

 

score = [92,64,100,77,45]
for sc in score:
   if sc == 100:
      print('백점입니다. 참 잘했어요.')
      break
   print(sc)

# 결과 
 > 92
 > 64
 > '백점입니다. 참 잘했어요.'

 

위의 코드는 성적의 리스트를 하나씩 출력하다가 100점을 만나면 문장을 출력하고 반복을 멈추는 코드 입니다. 이와 같이 특정 상황을 if로 만들어 반복문을 빠져나올 수 있습니다. 

하나만 건너뛰는 continue
반복을 하다 보면 반복을 완전히 종료해야하는 경우도 있지만 특정 데이터에 한해서 실행을 건너뛰어야 하는 경우도 발생 합니다. 웹 프로그래밍에서 Null값을 처리하는 것은 굉장히 중요한 일입니다. 크롤링을 하여 데이터베이스를 채우는 상황이었는데 가져오는 데이터 중에서 몇개의 항목이 데이터 비어있어서 프로그램이 아예 돌아가지 않았던 적이 있었습니다. 이런 경우에 continue를 사용하여 해결했던 기억이 납니다. 예시로는 위와 같은 아주 간단한 예를 들어보겠습니다. 

 

score = [92,64,100,77,45]
for sc in score:
   if sc == 100:
      continue
   print(sc)

# 결과 
 > 92
 > 64
 > 77
 > 45

 

break에서의 예제는 100점이 있으면 문장을 출력하고 반복을 멈추는 코드였는데 이번에는 100점이 있으면 100점은 출력하지 않고 그다음을 이어서 하는 코드를 작성해 보았습니다. 

위와 같이 반복문은 조건을 통하여 반복을 멈출수도 있고 특정 데이터에 한하여 지나칠 수도 있습니다. 두가지 제어 방식은 for문에서 뿐만 아니라 while문에서도 똑같이 사용할 수 있습니다.