Unit 17. break, continue로 반복문 제어하기
이번에는 break와 continue를 사용하여 반복문을 제어하는 방법을 알아보겠습니다.
break는 for, while 문법에서 제어흐름을 벗어나기 위해 사용합니다. 즉, 루프를 완전히 중단하죠. continue는 break와 비슷하지만 약간 다른 점이 있습니다. break는 제어흐름을 중단하고 빠져 나오지만 continue는 제어흐름(반복)을 유지한 상태에서 코드의 실행만 건너뛰는 역할을 합니다. 마치 카드 게임을 할 때 패가 안 좋으면 판을 포기하고 다음 기회를 노리는 것과 비슷합니다.
이제 실제 코드에서 break와 continue를 사용해봅시다.
17.1 break로 반복문 끝내기
무한 루프에서 숫자를 증가시키다가 100이 나오면 반복문을 끝내도록 만들어보겠습니다. 다음 내용을 IDLE의 소스 코드 편집 창에 입력한 뒤 실행해보세요.
break_while.py
i = 0 while True: # 무한 루프 i += 1 # i를 1씩 증가시킴 print(i) if i == 100: # i가 100일 때 break # 반복문을 끝냄. while의 제어흐름을 벗어남
실행 결과
... (생략) 96 97 98 99 100
SyntaxError: invalid syntax: break에는 :(콜론)을 붙이지 않습니다. :을 붙였는지 확인해주세요.
while에 True를 지정하여 무한 루프를 만들고 그 안에서 i를 1씩 증가시키고, if를 이용하여 i가 100이 될 때 break를 실행합니다. 이렇게 하면 무한 루프라도 0부터 100까지만 화면에 출력합니다. 즉, 반복문 안에서 break를 실행하면 반복문은 바로 끝납니다.
while뿐만 아니라 for에서도 break의 동작은 같습니다.
break_for.py
for i in range(0, 10000): # 0부터 9999까지 반복 print(i) if i == 100: # i가 100일 때 break # 반복문을 끝냄. for의 제어흐름을 벗어남
실행 결과
... (생략) 96 97 98 99 100
for에 range(0, 10000)을 지정했으므로 0부터 9999까지 반복합니다. 하지만 i가 100일 때 break를 실행하므로 0부터 100까지만 출력하고 반복문을 끝냅니다.
다음은 반복문과 break의 동작을 나타낸 순서도입니다.
![그림 18 1 break로 반복문 끝내기](https://dojang.io/pluginfile.php/8930/mod_page/content/4/018001.png)