오늘 끝나면
조건과 반복
- ✓조건과 반복의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 조건과이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
if와 for — 판단하고 반복시키기. 엑셀 IF에서 코드로 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
개발 · Day 3
조건과
반복
변수는 값을 담는 것. 담기만 하면 못 씀. 상황 따라 갈라지고, 같은 일을 또 시켜야 함. 그게 if와 for임. 코드를 움직이게 하는 두 장치임.
엑셀 IF가 사실 첫 조건문
새 문법 아님. 엑셀 써봤으면 이미 조건문 짠 거임.
=IF(점수>=60, “합격”, “불합격”). 이거 다들 써봄. 조건 하나 보고 결과를 둘로 가름. 이게 바로 조건 분기임.
코드 if는 모양만 다름. 셀에 칸 나눠 넣던 걸 줄로 풀어 씀. if 점수 >= 60: 합격 / else: 불합격. 의미는 똑같음.
어려운 게 아님. “조건 보고 길 가르기”를 글자로 적는 것뿐임. 엑셀에서 코드로 한 칸 넘어온 것뿐임.
엑셀 IF()와 코드 if는 같은 일을 함 — 조건 보고 결과 가르기.
if = 갈림길, 조건은 참/거짓
if는 갈림길임. 조건 하나 던지고, 답이 참이냐 거짓이냐로 길을 가름.
컴퓨터한테 조건은 딱 두 값임. 참(True) 아니면 거짓(False). 중간 없음. 온도 >= 28 같은 비교식은 결국 둘 중 하나로 떨어짐.
참이면 if 가지가 실행됨. 거짓이면 그 가지는 건너뛰고 else 가지로 감. 둘 중 한 쪽만 켜짐. 양쪽 동시는 없음.
오른쪽 슬라이더 밀어보셈. 조건이 뒤집히는 순간 켜지는 가지가 바뀜. 이게 코드가 판단하는 전부임.
조건 여러 개 — elif로 줄 세우기
길이 둘만 있는 건 아님. 셋, 넷으로도 갈림.
학점 매기기 보셈. 90 이상 A, 80 이상 B, 그 아래 C. 조건이 셋임. 이럴 땐 elif(else if)를 사다리처럼 쌓음.
핵심은 위에서부터 한 칸씩 검사함. 먼저 맞는 칸에서 멈춤. 90점이면 A 칸에서 끝남. 아래 칸은 아예 안 봄. 그래서 순서가 중요함.
순서 뒤집어 80 이상을 맨 위에 두면? 95점도 B로 떨어짐. 항상 좁은 조건(큰 수)부터 위에 둠.
파이썬 코드 보기
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
else:
grade = "C"
# 위에서부터, 먼저 맞는 칸에서 멈춘다95점은 첫 칸(90 이상)에서 멈춤 — 아래 칸은 안 봄. 그래서 큰 수부터 위에.
for = 반복, 1000번도 한 줄
“안녕” 100번 출력하라면? 복붙 100줄? 아님. 그건 사람이 할 짓 아님.
반복은 for한테 시킴. “0부터 100까지 세면서, 매번 이 줄 실행해.” 코드는 한 줄인데 안에서 100번 돎. 1000번도, 백만 번도 같은 한 줄임.
돌 때마다 변수 i가 한 칸씩 올라감. 0, 1, 2, ... 이 숫자로 몇 번째인지 알 수 있음. 목록의 n번째를 꺼내거나 셀 때 씀.
오른쪽 재생 눌러보셈. i가 올라가며 출력이 한 줄씩 쌓임. 사람은 한 번만 적고, 반복은 기계가 함. 코드가 사람을 이기는 지점임.
while — 끝을 모를 땐 조건이 멈춤
반복엔 형제가 하나 더 있음. while임.
for는 횟수를 알 때 씀. “10번 돌아.” while은 끝을 모를 때 씀. “조건이 참인 동안 계속 돌아.”
예로 “사용자가 그만이라 할 때까지 입력 받기”는 횟수를 모름. while not 그만:으로 묶음. 조건이 거짓 되는 순간 빠져나옴.
단 하나 주의. while은 멈출 조건을 안 만들면 영원히 돎. 이게 무한 루프임. 프로그램 멈춘 듯 보이는 흔한 버그 1순위임. 이 조건이 언젠가 거짓 되나? 를 항상 확인함.
Q. for랑 while, 뭐부터 손이 가야 함?
횟수가 정해졌으면 for가 안전함(끝이 보장됨). 조건이 끝을 정하면 while. 초보 단계선 거의 다 for로 풀림. while은 무한 루프 위험이 있어, 멈출 조건이 명확할 때만 꺼냄.한 줄 실행
입력 받기
while은 멈출 조건이 없으면 영원히 돎 — 무한 루프, 흔한 버그 1순위.