조건문이나 반복문을 돌리다 보면 중간에 코드 흐름을 제어해야 할 필요가 있습니다. 예를 들어 특정 조건을 만족하면 코드 실행을 건너뛴다던가, 중단한다거나 등의 동작이 필요한 경우입니다. 이번 포스팅에서는 종종 헷갈리는 세 가지 흐름 제어문을 알아보겠습니다.
구분 | 설명 |
pass | 아무것도 하지 않고 다음 코드를 실행 |
continue | 다음 순서의 반복문(loop)을 실행 |
break | 반복문(loop) 실행을 중단 |
예제 코드를 통해 각각을 알아보겠습니다. 다음과 같인 생긴 코드에 각각의 흐름 제어문을 넣어보겠습니다. 구구단 1단에서 3단까지를 만들었습니다.
for i in range(1,4):
for j in range(1,4):
print(f"{i} x {j} = ", i * j)
"""
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
"""
pass
pass는 아무 동작도 하지 않고 다음 코드를 실행시킵니다. 때문에 결과는 바뀌는 것이 없습니다.
for i in range(1,4):
if i == 2:
pass
for j in range(1,4):
print(f"{i} x {j} = ", i * j)
"""
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
"""
continue
i의 값이 2일 때 continue를 이용해서 해당 순서의 반복문을 건너뛰고 바로 그 다음 순서의 반복문을 실행시켰습니다. 출력 결과를 보면 구구단 2단이 사라졌습니다.
for i in range(1,4):
if i == 2:
continue
for j in range(1,4):
print(f"{i} x {j} = ", i * j)
"""
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
"""
break
i의 값이 2인 경우 제어문 break가 동작하여 반복문 실행이 중단되었습니다. 출력 결과를 보면 구구단 1단만 나타내게 됩니다.
for i in range(1,4):
if i == 2:
break
for j in range(1,4):
print(f"{i} x {j} = ", i * j)
"""
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
"""
- 이 글은 아나콘다(Anaconda3)가 설치된 주피터 노트북에서 작성되었습니다.