continue는 현재 반복에서 나머지 코드를 건너뛰고 다음 반복으로 바로 이동합니다.
break는 현재 반복을 완전히 종료하고, 가장 가까운 반복문을 벗어나게 합니다. 중첩된 반복문에서는 해당 레벨만 종료됩니다.
다음은 각 키워드의 동작을 확인할 수 있는 예제입니다.
continue 사용 시: 3층 건너뛰기
for floor in range(1, 5):
print(f"----------{floor}층----------")
if floor == 3:
print("3층은 통과 불가")
continue
for room in range(1, 6):
print(f"L{floor}-{floor}0{room}호")
출력 결과:
----------1층----------
L1-101호
L1-102호
L1-103호
L1-104호
L1-105호
----------2층----------
L2-201호
L2-202호
L2-203호
L2-204호
L2-205호
----------3층----------
3층은 통과 불가
----------4층----------
L4-401호
L4-402호
L4-403호
L4-404호
L4-405호
여기서 3층의 내부 반복문은 실행되지만, 내용 출력은 생략되고 다음 층으로 넘어갑니다.
break 사용 시: 3층 이후 종료
for floor in range(1, 5):
print(f"----------{floor}층----------")
if floor == 3:
print("3층은 통과 불가")
break
for room in range(1, 6):
print(f"L{floor}-{floor}0{room}호")
출력 결과:
----------1층----------
L1-101호
L1-102호
L1-103호
L1-104호
L1-105호
----------2층----------
L2-201호
L2-202호
L2-203호
L2-204호
L2-205호
----------3층----------
3층은 통과 불가
break는 3층에서 반복문 전체를 종료하므로, 이후 층은 전혀 실행되지 않습니다.
특정 조건에서만 건너뛰기: 404호 건너뛰기
break 사용 (반복문 종료)
for floor in range(1, 6):
print(f"----------{floor}층----------")
if floor == 3:
print("3층은 통과 불가")
continue
for room in range(1, 6):
if floor == 4 and room == 4:
print("404호는 불길하므로 건너뜁니다.")
break
print(f"L{floor}-{floor}0{room}호")
결과:
----------1층----------
...
----------4층----------
L4-401호
L4-402호
L4-403호
404호는 불길하므로 건너뜁니다.
----------5층----------
...
404호에서 반복문이 종료되어, 405호는 출력되지 않습니다.
continue 사용 (현재 반복만 건너뛰기)
for floor in range(1, 6):
print(f"----------{floor}층----------")
if floor == 3:
print("3층은 통과 불가")
continue
for room in range(1, 6):
if floor == 4 and room == 4:
print("404호는 불길하므로 건너뜁니다.")
continue
print(f"L{floor}-{floor}0{room}호")
결과:
----------1층----------
...
----------4층----------
L4-401호
L4-402호
L4-403호
404호는 불길하므로 건너뜁니다.
L4-405호
----------5층----------
...
404호에서만 건너뛰고, 다음 반복인 405호는 정상적으로 처리됩니다.