← 보드왕초보 코드 읽기 · 10/11
시험 코드 손으로 따라가기 — 5단계 요령 ★★★
0-1부터 0-9까지 배운 것을 모아서, 어떤 코드든 이 순서로 따라가면 돼요.
- 1단계 — 실제로 실행되는 줄부터 찾아요.
import,def,class로 시작하는 덩어리는 "정의"일 뿐이에요. 아래에서 호출될 때 비로소 실행돼요. - 2단계 — 변수표를 만들어요. 시험지 여백에 변수 이름을 적고 값을 채워요.
- 3단계 — 한 줄 실행할 때마다 표를 고쳐요.
=는 오른쪽 계산 후 왼쪽에 넣기이고, 함수 호출을 만나면 그 함수 안으로 들어갔다 와요. - 4단계 — print를 만나면 결과 칸에 한 줄 적어요. 반복문 안이면 바퀴마다 적어요.
- 5단계 — 내 결과와 선택지를 비교해요. 한눈에 틀린 선택지(칸 수, 개수, 첫 줄)부터 지우면 시간이 줄어요.
직접 해 볼까요? 아래 코드를 위 5단계로 따라가 보세요.
def double(n):
return n * 2
nums = [1, 2, 3, 4]
out = []
for v in nums:
if v >= 3:
out.append(double(v))
print(out)
print(len(out), out[0], out[-1])
| 바퀴 | v | v >= 3 ? | out의 상태 |
|---|---|---|---|
| 시작 | - | - | [] (비어 있음) |
| 1 | 1 | False | [] (건너뜀) |
| 2 | 2 | False | [] (건너뜀) |
| 3 | 3 | True | double(3)=6을 덧붙여 [6] |
| 4 | 4 | True | double(4)=8을 덧붙여 [6, 8] |
[6, 8]
2 6 8
마지막 줄은 len(out) = 2, out[0] = 6(첫 칸), out[-1] = 8(마지막 칸)이에요. 함수 double은 정의만 되어 있다가 for 안에서 호출될 때 실행돼요.
시험엔 이렇게 써요 — 이렇게 고르세요
코드를 보자마자 답을 추측하지 말고 변수표 + 바퀴표로 따라간 뒤 선택지와 비교하세요. 처음엔 느려 보여도 가장 정확해요. 교수님은 객관식 20문제 안팎, 60~70분 정도로 생각 중이라고 했어요(아직 확정은 아니에요). 문제당 3분 정도는 쓸 수 있어요.
잠깐 확인 — 위 코드에서 조건을 v >= 2로 바꾸면 print(out)은?
[4, 6, 8]이에요. v가 2, 3, 4일 때 각각 두 배를 덧붙여요.
다음 카드 → 이 장 3줄 요약
자료: 2~4주차 · Week02/Week03 노트북(풀이포함) · 빅분02(2주차)·빅데이터03(3주차)·빅데이터04(4주차) 녹취