[파이썬 04] for, while, if, break


이번엔 데이터를 하나씩 처리하는 반복문(loop)과 조건에 따라 다르게 동작시키는 조건문(if)을 다룬다. 이 둘의 조합이 사실상 "자동화"의 핵심 원리다.


1. for문, 정해진 걸 하나씩 반복


파이썬의 for문은 리스트나 문자열 같은 시퀀스의 항목을 순서대로 하나씩 꺼내며 반복 실행하는 구조다. 다른 언어처럼 반복 횟수를 직접 세는 방식이 아니라, 시퀀스 안의 항목을 순서대로 가져오는 방식으로 동작한다는 게 특징이다.



fruits = ["사과", "바나나", "포도"]

for fruit in fruits:

print(fruit)


정해진 횟수만큼 반복하고 싶을 땐 range() 함수를 함께 쓴다.


for i in range(5):

print(i) # 0부터 4까지 출력


2. while문, 조건이 참인 동안 계속 반복


for문이 "정해진 걸 순서대로" 반복한다면, while문은 "조건이 참(True)인 동안" 계속 반복한다. 반복 횟수가 미리 정해져 있지 않고 특정 조건이 충족될 때까지 계속 실행해야 하는 경우에 적합하다.


count = 0

while count < 5:

print(count)

count += 1


3. if문, 조건에 따라 다르게 동작


if문은 조건(참/거짓으로 판별되는 식)에 따라 코드 실행 여부를 결정하는 구문이다. 조건이 참이면 블록 안의 코드가 실행되고, 거짓이면 건너뛴다. 여러 조건을 순서대로 검사하려면 elif를, 나머지 모든 경우를 처리하려면 else를 쓴다.


ages = [78, 34, 21, 47, 9]

for age in ages:

if age >= 55:

print(f"{age}세는 시니어입니다")

elif age >= 35:

print(f"{age}세는 중년입니다")

else:

print(f"{age}세는 청년입니다")


이 코드처럼 for문과 if문을 조합하면, 리스트 안의 값을 하나씩 검사하면서 조건에 맞는 경우만 골라 처리할 수 있다. 실무에서 데이터를 거르거나 분류하는 작업은 거의 이 패턴을 기반으로 한다.


4. break/continue, 반복을 도중에 조절하기


파이썬 공식 문서에도 나오듯, break는 반복문을 즉시 중단시키고, continue는 현재 반복만 건너뛰고 다음 반복으로 넘어가게 한다.


numbers = [12, 75, 150, 180, 145, 525, 50]

for item in numbers:

if item > 500:

break # 500 넘으면 반복 자체를 종료

if item > 150:

continue # 150 넘으면 이번 항목만 건너뜀

if item % 5 == 0:

print(item)


이 코드는 525를 만나는 순간 반복 전체가 종료되기 때문에 그 뒤에 있는 50은 검사조차 되지 않는다는 점이 핵심이다.


5. 들여쓰기, 여기서도 중요함


앞선 편에서 다뤘듯 파이썬은 중괄호 대신 들여쓰기로 코드 블록을 구분한다.


for문이나 if문 안에 속하는 코드는 반드시 4칸(또는 탭 1개)을 들여써야 하며, 이걸 지키지 않으면 오류가 발생한다. 특히 반복문 안에 조건문을 넣는 중첩 구조에서는 들여쓰기 단수를 헷갈리기 쉬우므로 주의가 필요하다.


6. 정리


for문은 정해진 항목을 순서대로, while문은 조건이 참인 동안 반복한다.


if/elif/else는 조건에 따라 다른 동작을 실행시킨다.


이 세 가지를 조합하면 "리스트를 훑으면서 조건에 맞는 것만 처리한다"는, 실무 자동화의 가장 기본적인 패턴을 만들 수 있다.