💻
손으로 ② — 파이썬으로 아홉 직업을 한꺼번에 재기
해부대는 직업 하나를 자세히 보는 데 좋습니다. 그런데 아홉 직업 · 업무 57개를
한꺼번에 재고, 가정을 바꿔 가며 결과가 얼마나 흔들리는지 보려면 코드가 편합니다.
아래 코드에는 빈칸이 다섯 곳(?????) 있습니다.
채우지 않고 실행하면 문법 오류가 납니다 — 정상입니다.
빈칸은 전부 오늘 본문에서 이미 말로 설명한 식입니다. 순서대로 이렇습니다.
- ① 자동화 가능성 — 병목 합을 1에서 빼는 식. 2절의 계산 규칙 그대로입니다.
- ② 노출도 — 시간 비중 × 자동화 가능성을 모두 더합니다.
단순 평균을 쓰면 오류가 나지 않고 조용히 틀립니다.
- ③ 직업 안의 폭 — 가장 높은 업무와 가장 낮은 업무의 차이.
- ④ 안쪽 제곱합 — 업무가 자기 직업의 평균에서 떨어진 거리를 제곱해 더합니다.
변수 이름을 잘 보세요.
m은 그 직업의 평균, grand는 전체 평균입니다.
- ⑤ 최대병목형 — 합이 아니라 가장 큰 병목 하나만 봅니다. 만점은 4입니다.
과제 ④ — 코드를 일부러 부순다
답이 맞았다고 끝이 아닙니다. 가정을 바꿨을 때 무엇이 흔들리고 무엇이 안 흔들리는지를
봐야 그 계산을 이해한 것입니다. 아래 다섯 중 셋 이상을 실제로 해 보고 공책에 적으세요.
전부 실제로 돌려 본 것이고, 다섯 중 넷은 오류가 나지 않습니다.
ℹ️ 우리가 미리 돌려 본 결과
- ① 시간 비중 합이 2.00이 되면 노출도가 121.9%가 됩니다.
100%가 넘는데도 오류가 나지 않습니다. 그래서 코드가 시간 비중의 합을 먼저 찍습니다.
- ② 모든 병목이 4점이면 노출도 0.0%, 안쪽 폭 0.00입니다.
‘내 직업은 절대 자동화 안 돼’라고 미리 정해 놓은 답안이 정확히 이 모습입니다.
- ③ 단순평균으로 바꾸면 미용사 +8.7%p, 회계원 −6.3%p, 교사 +3.6%p.
오류는 나지 않습니다. 순위도 여섯 자리가 바뀝니다.
- ④
grand를 쓰면 안쪽이 100.0%가 나와
결론이 더 세게 보입니다. 그런데 검산 줄에서 합이 3.1107 ≠ 2.8357로 어긋납니다.
검산 줄 하나가 유일한 방어선입니다.
- ⑤ 분모를 12로 하면 노출도가 전체적으로 42.1∼78.7%로 옮겨 가지만,
안쪽이 90.4%로 결론은 바뀌지 않습니다.
④를 눈여겨보세요. 잘못 고쳤는데 결과가 더 좋아 보이는 경우입니다.
100.0%는 90.3%보다 훨씬 강력한 숫자니까요.
만약 검산 줄이 없었다면 우리는 이 오류를 알아채지 못한 채
“직업 안의 편차가 전부다”라고 발표했을 것입니다.
계산이 마음에 드는 방향으로 나올수록 검산을 더 해야 합니다.
과제 ⑤ — 내 희망 직업을 넣는다
코드의 MY_JOB 자리에 예시로 ‘웹툰 작가’가 들어 있습니다.
노출도 62.2%, 안쪽 폭 0.50, 먼저 넘어갈 업무는 마감 일정 관리(94%),
끝까지 남을 업무는 콘티·스토리 구상(44%)으로 나옵니다.
이 자리를 여러분의 희망 직업으로 바꾸세요.
해부대의 ‘내 직업 만들기’로 먼저 만들어 본 뒤 코드에 옮겨 적어도 됩니다.
| 채점 기준 | 배점 |
| ① 업무를 5∼7개로, 동사로 끝나는 행위로 쪼갰나 | 2점 |
| ② 시간 비중의 합이 1.00 인가 (±0.02) | 1점 |
| ③ 병목 네 칸을 모두 0∼4로 채웠나 | 1점 |
| ④ 업무마다 점수 근거를 한 줄씩, 병목 이름과 이어 적었나 | 3점 |
| ⑤ 먼저 넘어갈 업무 · 끝까지 남을 업무를 병목으로 지목했나 | 2점 |
| ⑥ 내 직업 안의 폭을 계산해 프리셋 평균 0.58과 견주었나 | 1점 |
④가 배점이 가장 큽니다. 숫자를 매기는 것보다 왜 그 숫자인지가 오늘의 공부이기 때문입니다.
여기서 뽑은 ‘끝까지 남을 업무’는 다음 5차시의 출발점이 되니 잘 적어 두세요.