目次
1. continue
문 기본 이해
continue
문은 Python의 루프 구조 내에서 특정 조건을 만족할 때, 해당 루프의 현재 반복을 건너뛰고 다음 반복으로 진행하기 위해 사용됩니다. 이는 예를 들어 특정 요소를 처리에서 제외하고 싶을 때 유용합니다.1.1 continue
의 기본 구문
continue
문은 for
루프 또는 while
루프 안에서 사용됩니다. 기본 구문은 다음과 같습니다.for i in range(5):
if i == 2:
continue
print(i)
이 코드에서는 i
가 2일 때 continue
가 실행되고, print
문은 건너뛰어집니다. 따라서 출력은 0, 1, 3, 4
가 됩니다.2. for
루프에서의 continue
사용법
for
루프는 반복 처리를 수행할 때 자주 사용됩니다. 이 안에서 continue
를 사용하면 특정 조건에서 해당 반복의 나머지 처리를 건너뛸 수 있습니다.2.1 기본적인 for
루프 예시
아래 코드에서는 리스트 내의 숫자를 순차적으로 처리하고, 특정 조건에 부합하는 경우 해당 처리를 건너뛰게 됩니다.numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num % 2 == 0:
continue
print(num)
이 코드에서는 짝수인 숫자가 continue
에 의해 건너뛰어지므로, 출력은 1, 3, 5
가 됩니다.2.2 중첩된 for
루프에서의 continue
중첩된 루프 안에서 continue
를 사용할 경우, continue
는 가장 안쪽 루프에만 영향을 미칩니다. 예를 들어:for i in range(3):
for j in range(3):
if j == 1:
continue
print(i, j)
이 코드에서는 안쪽 루프에서 j
가 1인 경우 처리를 건너뛰고, print(i, j)
의 출력은 (0, 0), (0, 2), (1, 0), (1, 2), (2, 0), (2, 2)
가 됩니다.
3. while
루프에서의 continue
사용법
while
루프에서도 마찬가지로 continue
를 사용하여 현재 반복을 건너뛰고 다음 반복으로 진행할 수 있습니다.3.1 기본적인 while
루프 예시
아래 코드는 사용자가 숫자를 입력하도록 하고, 특정 조건에서 continue
를 사용하여 처리를 건너뛰게 합니다.counter = 0
while counter < 5:
counter += 1
if counter == 3:
continue
print(counter)
이 코드에서는 counter
가 3일 때 continue
가 실행되고, print
문은 건너뛰어집니다. 따라서 출력은 1, 2, 4, 5
가 됩니다.3.2 while
루프에서의 입력 검증
while
루프에서 사용자 입력을 검증할 때도 continue
가 유용합니다. 예를 들어, 빈 입력을 건너뛰기 위해 continue
를 사용할 수 있습니다:while True:
text = input("Enter a number (or 'exit' ) to quit: ")
if text == 'exit':
break
if text == '':
print("Empty input, please try again.")
continue
print(f"You entered: {text}")
이 코드에서는 사용자가 빈 입력을 했을 경우 continue
로 처리를 건너뛰고, 다시 입력을 요청합니다.4. continue
와 else
의 조합
Python에서는, for
루프와 while
루프에 else
블록을 결합할 수 있습니다. 이 else
블록은 continue
가 실행된 경우에도 적용되므로, 보다 복잡한 흐름 제어를 구현할 수 있습니다.4.1 else
블록 예시
다음 예에서는 else
블록과 continue
를 결합하여, 루프가 끝까지 실행된 경우의 처리를 수행합니다.for i in range(3):
for j in range(3):
if j == 1:
continue
print(i, j)
else:
print("Inner loop finished.")
이 코드에서는, 내부 루프가 continue
에 의해 중간에 건너뛰어졌더라도, else
블록의”Inner loop finished.”가 표시됩니다.
5. continue
와 break
의 차이
continue
와 break
는 모두 루프 흐름을 제어하지만, 용도가 다릅니다.5.1 continue
의 동작
continue
는 현재 반복을 건너뛰고 다음 반복으로 진행합니다. 루프 전체를 종료하지는 않습니다.5.2 break
의 동작
반면, break
는 루프 전체를 종료하고 루프 밖으로 나갑니다. 아래 예시에서 차이를 살펴보겠습니다:for i in range(5):
if i == 3:
break
print(i)
이 코드에서는 i
가 3일 때 break
가 실행되어 루프 전체가 종료됩니다. 출력은 0, 1, 2
가 됩니다.5.3 어느 것을 사용해야 할까
continue
는 특정 조건에서 처리를 건너뛰는 데 사용하고, break
는 특정 조건에서 루프를 완전히 종료할 때 사용합니다. 용도에 따라 적절히 구분해서 사용합시다.6. 실용적인 응용
continue
문은 실제 프로그래밍에서 효율적인 코드를 작성하거나 특정 상황을 피하기 위해 사용됩니다.6.1 데이터 필터링
예를 들어, 데이터셋에서 특정 값을 제외할 때continue
를 사용할 수 있습니다.data = [1, -1, 2, -2, 3, -3]
for value in data:
if value < 0:
continue
print(value)
이 코드에서는 음수 값이 건너뛰어지고, 출력은1, 2, 3
이 됩니다.
7. 흔히 발생하는 실수와 트러블슈팅
continue
를 사용할 때 흔히 발생하는 실수와 그 해결책에 대해 설명합니다.7.1 들여쓰기 실수
continue
를 사용할 때 가장 일반적인 실수는 들여쓰기입니다. continue
가 의도하지 않은 위치에 들여쓰기 되어 있으면, 예상치 못한 동작을 일으킬 가능성이 있습니다.7.2 무한 루프의 위험성
while
루프에서 continue
를 사용할 경우, 루프 진행을 확실히 관리해야 합니다. 예를 들어, 카운터 업데이트를 continue
앞에 하지 않으면 무한 루프가 될 가능성이 있습니다.counter = 0
while counter < 5:
if counter == 3:
continue # 무한 루프가 된다
counter += 1
print(counter)
이 코드에서는, counter
의 업데이트가 continue
뒤에 이루어지지 않기 때문에, 무한 루프가 됩니다.