18.2 continue로 코드 실행 건너뛰기

이번에는 continue를 사용하여 일부 코드를 실행하지 않고 건너뛰어 보겠습니다.

18.2.1  for에서 continue로 코드 실행 건너뛰기

다음은 for로 0부터 99까지 반복하면서 홀수만 출력합니다.

continue_for.py

for i in range(100):       # 0부터 99까지 증가하면서 100번 반복
    if i % 2 == 0:         # i를 2로 나누었을 때 나머지가 0면 짝수
        continue           # 아래 코드를 실행하지 않고 건너뜀
    print(i)

실행 결과

1
3
5
... (생략)
95
97
99
에러

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

먼저 for를 사용하여 0부터 99까지 반복합니다. 그리고 if를 사용하여 i가 짝수이면 continue를 실행합니다( i를 2로 나누었을 때 나머지가 0이면 짝수, 0이 아니면 홀수입니다). 마지막으로 print를 사용하여 i의 값을 출력합니다.

이제 i가 짝수이면 continue를 실행하여 print를 건너뛰고, 홀수이면 print로 숫자를 출력합니다. 즉, 반복문 안에서 continue를 실행하면 continue 아래의 코드는 실행하지 않고 건너뛴 뒤 다음 반복을 시작합니다.

그림 18-3 continue로 코드 실행 건너뛰기

18.2.2  while 반복문에서 continue로 코드 실행 건너뛰기

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

continue_while.py

i = 0
while i < 100:        # i가 100보다 작을 때 반복. 0부터 99까지 증가하면서 100번 반복
    i += 1            # i를 1씩 증가시킴
    if i % 2 == 0:    # i를 2로 나누었을 때 나머지가 0이면 짝수
        continue      # 아래 코드를 실행하지 않고 건너뜀
    print(i)

실행 결과

1
3
5
... (생략)
95
97
99

while i < 100:으로 0부터 99까지 반복하도록 만듭니다. 그리고 i를 1씩 증가시킨 뒤 if를 사용하여 i가 짝수이면 continue를 실행합니다. 마지막으로 print를 사용하여 i의 값을 출력합니다.

이렇게 하면 i의 값에 따라 continue 아래에 있는 print를 건너뜁니다.

코드의 동작을 그림으로 나타내면 다음과 같은 모양이 됩니다.

그림 18-4 continue로 코드 실행 건너뛰기

여기서는 while i < 100:과 같이 반복 횟수를 정한 뒤 continue를 사용했습니다. 만약 무한 루프에서 continue를 사용하면 홀수만 계속 출력될 뿐 반복문은 끝나지 않습니다. while에서 continue를 사용할 때는 이 부분을 주의해주세요.

참고 | 반복문과 pass

for, while의 반복할 코드에서 아무 일도 하지 않지만, 반복문의 형태를 유지하고 싶다면 pass를 사용하면 됩니다.

for i in range(10):    # 10번 반복
    pass               # 아무 일도 하지 않음
while True:    # 무한 루프
    pass       # 아무 일도 하지 않음

pass에 대한 내용은 '13.1 if 조건문 사용하기'를 참조해주세요.