오늘 끝나면
조건과 반복
- ✓조건과 반복의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 조건과이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
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번째를 꺼내거나 셀 때 쓴다.
while, 끝을 모를 땐 조건이 멈춘다
반복에는 형제가 하나 더 있다. while이다.
for는 횟수를 알 때 쓴다. “10번 돌아.” while은 끝을 모를 때 쓴다. “조건이 참인 동안 계속 돌아.”
“사용자가 그만이라 할 때까지 입력 받기”는 횟수를 모르니 while not 그만:으로 묶는다. 조건이 거짓이 되는 순간 빠져나온다.
while은 멈출 조건을 만들지 않으면 영원히 돈다. 이게 무한 루프이고, 흔한 버그 1순위다. 이 조건이 언젠가 거짓이 되는지를 항상 확인한다.
Q. for랑 while, 뭐부터 손이 가야 하나?
횟수가 정해졌으면 for가 안전하다(끝이 보장된다). 조건이 끝을 정하면 while이다. 초보 단계에서는 거의 다 for로 풀린다. while은 무한 루프 위험이 있어, 멈출 조건이 명확할 때만 꺼낸다.한 줄 실행
입력 받기
while은 멈출 조건이 없으면 영원히 돈다. 무한 루프이고, 흔한 버그 1순위다.