18.1 break로 반복문 끝내기

Unit 18. break, continue로 반복문 제어하기

이번에는 breakcontinue를 사용하여 반복문을 제어하는 방법을 알아보겠습니다.

breakforwhile 문법에서 제어흐름을 벗어나기 위해 사용합니다. 즉, 루프를 완전히 중단하죠. continuebreak와 비슷하지만 약간 다른 점이 있습니다. break는 제어흐름을 중단하고 빠져 나오지만, continue는 제어흐름(반복)을 유지한 상태에서 코드의 실행만 건너뛰는 역할을 합니다. 마치 카드 게임을 할 때 패가 안 좋으면 판을 포기하고 다음 기회를 노리는 것과 비슷합니다.

  • break: 제어흐름 중단
  • continue: 제어흐름 유지, 코드 실행만 건너뜀

이제 실제 코드에서 breakcontinue를 사용해봅시다.

18.1 break로 반복문 끝내기

먼저 break로 반복문을 끝내는 방법입니다.

18.1.1  while에서 break로 반복문 끝내기

그럼 while 무한 루프에서 숫자를 증가시키다가 변수 i가 100일 때 반복문을 끝내도록 만들어보겠습니다. 다음 내용을 IDLE의 소스 코드 편집 창에 입력한 뒤 실행해보세요.

break_while.py

i = 0
while True:    # 무한 루프
    print(i)
    i += 1          # i를 1씩 증가시킴
    if i == 100:    # i가 100일 때
        break       # 반복문을 끝냄. while의 제어흐름을 벗어남

실행 결과

0
1
2
... (생략)
97
98
99
에러

SyntaxError: invalid syntax: break에는 :(콜론)을 붙이지 않습니다. :을 붙였는지 확인해주세요.

먼저 whileTrue를 지정하여 무한 루프를 만들고, 그 안에서 i를 1씩 증가시킵니다. 그리고 if를 사용하여 i가 100이 될 때 break를 실행합니다. 이렇게 하면 무한 루프라도 0부터 99까지만 화면에 출력합니다. 즉, 반복문 안에서 break를 실행하면 반복문은 바로 끝납니다.

이 과정을 그림으로 표현하면 다음과 같은 모양이 됩니다.

그림 18-1 while에서 break로 반복문 끝내기

18.1.2  for에서 break로 반복문 끝내기

while뿐만 아니라 for에서도 break의 동작은 같습니다.

break_for.py

for i in range(10000):    # 0부터 9999까지 반복
    print(i)
    if i == 100:    # i가 100일 때
        break       # 반복문을 끝냄. for의 제어흐름을 벗어남

실행 결과

0
1
2
... (생략)
98
99
100

forrange(10000)을 지정했으므로 0부터 9999까지 반복합니다. 하지만 i가 100일 때 break를 실행하므로 0부터 100까지만 출력하고 반복문을 끝냅니다.

이 과정을 그림으로 나타내면 다음과 같은 모양이 됩니다.

그림 18-2 for에서 break로 반복문 끝내기