조건문과 반복문은 초보자가 처음으로 흐름을 다루는 순간이다. 그래서 문법 자체보다 코드가 어떤 순서로 움직이는지 상상하는 힘이 더 중요해진다.
이 단계에서 흔한 실수는 전체 문제를 한 번에 이해하려는 것이다. 실제로는 한 줄씩, 한 바퀴씩 좁혀 보면 훨씬 단순한 경우가 많다.
한 바퀴만 추적해도 많이 풀린다
반복문이 어렵다면 100번 도는 코드를 상상하지 말고 첫 번째 바퀴만 본다. 조건문이 어렵다면 참일 때와 거짓일 때 각각 어디로 가는지만 나눠 본다.
이렇게 줄이면 흐름이 복잡한 프로그램이 아니라 지금 이 입력이 들어왔을 때 어느 줄이 실행되는지의 문제로 바뀐다.
FLOW
numbers = [3, 5, 8]
for n in numbers:
if n % 2 == 0:
print("짝수", n)
else:
print("홀수", n)
처음에는 3이 들어갔을 때만 따라가 보고, 그다음 5와 8을 같은 방식으로 보면 된다.
막힐 때 쓰는 질문
- 첫 번째 입력은 무엇인가?
- if 조건은 참인가 거짓인가?
- 한 바퀴가 끝나면 어떤 값이 남는가?
- 반복은 언제 끝나는가?
흐름을 읽는 힘은 복잡한 문제를 작은 순서로 자르는 힘에서 나온다.
이 글의 포인트
- 조건문과 반복문은 전체보다 한 단계씩 줄여서 본다.
- 반복문은 한 바퀴만 추적해도 이해가 많이 선다.
- 조건문은 참과 거짓 두 경로를 분리해서 보는 습관이 중요하다.