콘텐츠로 건너뛰기

파이썬 조건문(if)과 반복문(for/while)으로 업무 자동화 맛보기

12월 11, 2025
파이썬 조건문과 반복문 완벽 가이드 - 업무 자동화로 배우는 if for while 문법

파이썬 조건문(if)과 반복문(for/while)으로 업무 자동화 맛보기

여러분, 회사에서 이런 경험 있나요? “100개 파일 이름을 일일이 바꿔야 해…”, “엑셀에서 조건에 맞는 데이터만 찾아야 하는데 한 시간 걸렸어…”

바로 이럴 때 필요한 게 조건문반복문이에요! 조건문으로 “만약 ~라면 ~해라”를 처리하고, 반복문으로 100번 작업을 1초 만에 끝낼 수 있어요.

이 글에서는 단순히 문법만 배우는 게 아니라, 실제 업무에서 바로 써먹을 수 있는 자동화 예제를 함께 배워볼 거예요!

💡 시리즈 연결: 이전 글에서 변수와 자료형을 배웠어요. 이제 그 데이터를 가지고 “조건에 따라 다르게 처리”하고 “반복 작업을 자동화”하는 방법을 배워요!

조건문(if)이란? 업무 승인 자동화하기

조건문(Conditional Statement)은 “만약 ~라면 ~해라”를 표현하는 거예요. 우리 일상에서도 항상 쓰는 논리죠!

실제 업무 상황:
➡️ 만약 결재 금액이 100만원 이하라면 → 팀장 결재
➡️ 그렇지 않고 500만원 이하라면 → 본부장 결재
➡️ 그렇지 않으면 → 대표 결재

이걸 파이썬 코드로 바꾸면:

# 결재 금액 자동 판정 시스템 amount = 1500000 # 150만원 if amount <= 1000000: print(“✅ 팀장 결재로 진행합니다.”) elif amount <= 5000000: print(“✅ 본부장 결재로 진행합니다.”) else: print(“✅ 대표 결재로 진행합니다.”)
출력: ✅ 본부장 결재로 진행합니다.

이렇게 조건에 따라 자동으로 다른 행동을 할 수 있어요!

if 문법: 기본 구조 완벽 이해

if 조건: 실행할 코드 (들여쓰기 4칸!) 조건이 True면 실행 ⚠️ 들여쓰기 필수! (Tab 또는 스페이스 4칸)

if 문법 구조 – 콜론(:)과 들여쓰기가 핵심!

if / elif / else 세트

# 성적 등급 자동 판정 score = 85 if score >= 90: grade = “A” elif score >= 80: grade = “B” elif score >= 70: grade = “C” else: grade = “F” print(f”당신의 등급은 {grade}입니다.”)
💡 문법 포인트:
if: 첫 번째 조건 (필수)
elif: 두 번째, 세 번째… 조건 (선택, 여러 개 가능)
else: 모든 조건이 거짓일 때 (선택, 1개만)
• 반드시 콜론(:) 붙이고 다음 줄 들여쓰기!

비교 연산자: 조건 만들기

조건문에서 “비교”를 하려면 비교 연산자를 알아야 해요.

연산자 의미 예시 결과
== 같다 5 == 5 True
!= 다르다 5 != 3 True
> 크다 5 > 3 True
< 작다 5 < 3 False
>= 크거나 같다 5 >= 5 True
<= 작거나 같다 3 <= 5 True
⚠️ 초보자 실수: 같다는 == (등호 2개)예요! = (등호 1개)는 할당(저장)이에요.
age = 25 → age 변수에 25를 저장
age == 25 → age가 25인지 비교 (True/False)

논리 연산자: 여러 조건 조합하기

실무에서는 조건이 하나만 있는 경우가 드물어요. “나이가 19세 이상 이고 회원이다” 같은 복합 조건이 필요하죠!

연산자 의미 예시
and 둘 다 참이어야 참 age >= 19 and is_member
or 하나라도 참이면 참 grade == "A" or grade == "B"
not 반대로 뒤집기 not is_blocked

🏢 실전 예제: 직원 복지 프로그램 자격 판정

자동화 시나리오: 직원 100명의 복지 프로그램 자격을 자동으로 판정하는 시스템
# 직원 정보 employee = { “name”: “김철수”, “years”: 5, # 근속년수 “grade”: “대리”, “performance”: 4.2 # 평가 점수 (5점 만점) } # 복지 자격 조건: 근속 3년 이상 AND 평가 4.0 이상 if employee[“years”] >= 3 and employee[“performance”] >= 4.0: benefit = “프리미엄 복지 패키지” amount = 2000000 elif employee[“years”] >= 3 or employee[“performance”] >= 4.0: benefit = “기본 복지 패키지” amount = 1000000 else: benefit = “없음” amount = 0 print(f”👤 {employee[‘name’]} {employee[‘grade’]}”) print(f”💼 근속: {employee[‘years’]}년 | 평가: {employee[‘performance’]}”) print(f”🎁 복지: {benefit} ({amount:,}원)”)
출력: 👤 김철수 대리 💼 근속: 5년 | 평가: 4.2 🎁 복지: 프리미엄 복지 패키지 (2,000,000원)

for 반복문: 100번 작업을 1초에!

for 반복문은 “리스트의 각 항목에 대해 ~해라” 또는 “N번 반복해라”를 표현해요. 업무 자동화의 핵심이죠!

기본 문법: 리스트 순회

# 직원 명단 출력 employees = [“김철수”, “이영희”, “박민수”, “최지원”] for name in employees: print(f”안녕하세요, {name}님!”)
출력: 안녕하세요, 김철수님! 안녕하세요, 이영희님! 안녕하세요, 박민수님! 안녕하세요, 최지원님!

range() 함수: 숫자 범위로 반복

# 1부터 5까지 반복 for i in range(1, 6): # 6은 포함 안 됨! print(f”{i}번째 작업 완료”) # 0부터 9까지 (10번 반복) for i in range(10): print(i)
💡 range() 사용법:
range(5) → 0, 1, 2, 3, 4 (5개)
range(1, 6) → 1, 2, 3, 4, 5
range(0, 10, 2) → 0, 2, 4, 6, 8 (2씩 증가)

📁 실전 예제: 파일명 일괄 변경 자동화

자동화 시나리오: 회사 로고 파일 100개를 “구버전 → 신버전”으로 일괄 변경
# 변경할 파일 목록 (실제로는 os.listdir() 사용) files = [ “logo_old_v1.png”, “logo_old_v2.png”, “banner_old.jpg”, “header_old.png” ] print(“📁 파일명 변경 시작…\n”) for i, filename in enumerate(files, 1): # “old”를 “new”로 바꾸기 new_name = filename.replace(“old”, “new”) print(f”[{i}/{len(files)}] {filename} → {new_name}”) # 실제 파일 변경은 이렇게: # os.rename(filename, new_name) print(“\n✅ 모든 파일 변경 완료!”)
출력: 📁 파일명 변경 시작… [1/4] logo_old_v1.png → logo_new_v1.png [2/4] logo_old_v2.png → logo_new_v2.png [3/4] banner_old.jpg → banner_new.jpg [4/4] header_old.png → header_new.png ✅ 모든 파일 변경 완료!

손으로 하면 10분 걸릴 일을 1초 만에! 이게 바로 자동화의 힘이에요 🚀

딕셔너리 반복 처리

# 직원별 급여 계산 salaries = { “김철수”: 3500000, “이영희”: 4200000, “박민수”: 3800000 } # 보너스 10% 지급 for name, salary in salaries.items(): bonus = salary * 0.1 total = salary + bonus print(f”{name}: 급여 {salary:,}원 + 보너스 {bonus:,}원 = {total:,}원”)

while 반복문: 조건 만족까지 계속

while 반복문은 “조건이 참인 동안 계속 반복”해요. 몇 번 반복할지 모를 때 유용해요.

# 목표 달성까지 반복 current = 0 target = 100 while current < target: current += 10 print(f”진행률: {current}%”) print(“✅ 목표 달성!”)

🛒 실전 예제: 재고 관리 시스템

자동화 시나리오: 재고가 10개 미만이면 자동 발주 알림
# 상품별 재고 inventory = { “노트북”: 15, “마우스”: 8, “키보드”: 5, “모니터”: 12 } print(“📦 재고 점검 시작…\n”) low_stock_items = [] for item, count in inventory.items(): if count < 10: print(f”⚠️ {item}: 재고 부족 ({count}개)”) low_stock_items.append(item) else: print(f”✅ {item}: 재고 충분 ({count}개)”) if low_stock_items: print(f”\n📧 발주 필요: {‘, ‘.join(low_stock_items)}”) else: print(“\n✅ 모든 재고 충분합니다.”)
출력: 📦 재고 점검 시작… ✅ 노트북: 재고 충분 (15개) ⚠️ 마우스: 재고 부족 (8개) ⚠️ 키보드: 재고 부족 (5개) ✅ 모니터: 재고 충분 (12개) 📧 발주 필요: 마우스, 키보드

break와 continue: 반복 제어하기

반복문 중간에 빠져나가거나 건너뛰어야 할 때가 있어요.

break: 반복 중단

# 불량품 발견 시 즉시 중단 products = [“정상”, “정상”, “불량”, “정상”] for i, status in enumerate(products, 1): print(f”{i}번 제품 검사: {status}”) if status == “불량”: print(“🚨 불량품 발견! 검사 중단”) break # 반복 즉시 종료
출력: 1번 제품 검사: 정상 2번 제품 검사: 정상 3번 제품 검사: 불량 🚨 불량품 발견! 검사 중단

continue: 현재 반복 건너뛰기

# 결석자 제외하고 출석 체크 students = [ {“name”: “철수”, “status”: “출석”}, {“name”: “영희”, “status”: “결석”}, {“name”: “민수”, “status”: “출석”} ] for student in students: if student[“status”] == “결석”: continue # 이 학생 건너뛰고 다음으로 print(f”✅ {student[‘name’]}: 출석 체크 완료”)
출력: ✅ 철수: 출석 체크 완료 ✅ 민수: 출석 체크 완료

실전 종합 예제: 급여 명세서 자동 생성

지금까지 배운 것을 모두 합쳐서 실무에서 쓸 만한 프로그램을 만들어봐요!

🏢 자동화 프로젝트: 전 직원 급여 명세서 생성 시스템
# 직원 데이터 (실무에서는 엑셀이나 DB에서 가져옴) employees = [ {“name”: “김철수”, “grade”: “대리”, “base”: 3500000, “years”: 5}, {“name”: “이영희”, “grade”: “과장”, “base”: 4500000, “years”: 8}, {“name”: “박민수”, “grade”: “사원”, “base”: 2800000, “years”: 2} ] print(“💰 급여 명세서 생성 시작…\n”) print(“=” * 60) for i, emp in enumerate(employees, 1): print(f”\n[{i}] {emp[‘name’]} {emp[‘grade’]}”) print(“-“ * 60) # 기본급 base_salary = emp[“base”] print(f”기본급: {base_salary:>12,}원”) # 근속 수당 (1년당 50,000원) years_bonus = emp[“years”] * 50000 print(f”근속 수당: {years_bonus:>12,}원 ({emp[‘years’]}년)”) # 직급 수당 if emp[“grade”] == “과장”: grade_bonus = 500000 elif emp[“grade”] == “대리”: grade_bonus = 300000 else: grade_bonus = 0 if grade_bonus > 0: print(f”직급 수당: {grade_bonus:>12,}원”) # 총 지급액 total = base_salary + years_bonus + grade_bonus # 공제 (소득세 10%, 4대보험 5%) tax = int(total * 0.10) insurance = int(total * 0.05) deduction = tax + insurance print(f”\n총 지급액: {total:>12,}원”) print(f”공제액: {deduction:>12,}원”) print(f” – 소득세: {tax:>12,}원”) print(f” – 4대보험: {insurance:>12,}원”) # 실수령액 net_pay = total – deduction print(f”\n{‘실수령액’:<10} {net_pay:>12,}원”) print(“=” * 60) print(f”\n✅ 총 {len(employees)}명의 급여 명세서 생성 완료!”)
출력: 💰 급여 명세서 생성 시작… ============================================================ [1] 김철수 대리 ———————————————————— 기본급: 3,500,000원 근속 수당: 250,000원 (5년) 직급 수당: 300,000원 총 지급액: 4,050,000원 공제액: 607,500원 – 소득세: 405,000원 – 4대보험: 202,500원 실수령액 3,442,500원 ============================================================ [2] 이영희 과장 ———————————————————— 기본급: 4,500,000원 근속 수당: 400,000원 (8년) 직급 수당: 500,000원 총 지급액: 5,400,000원 공제액: 810,000원 – 소득세: 540,000원 – 4대보험: 270,000원 실수령액 4,590,000원 ============================================================ [3] 박민수 사원 ———————————————————— 기본급: 2,800,000원 근속 수당: 100,000원 (2년) 총 지급액: 2,900,000원 공제액: 435,000원 – 소득세: 290,000원 – 4대보험: 145,000원 실수령액 2,465,000원 ============================================================ ✅ 총 3명의 급여 명세서 생성 완료!

와! 이렇게 복잡한 계산을 자동화했어요! 직원이 100명이든 1000명이든 똑같은 코드로 처리 가능해요 🎉

중첩 반복문: 2차원 데이터 처리

반복문 안에 반복문을 넣을 수도 있어요. 표 형태의 데이터를 처리할 때 유용해요.

# 구구단 (2~5단) for dan in range(2, 6): print(f”\n[{dan}단]”) for i in range(1, 10): result = dan * i print(f”{dan} × {i} = {result}”)

📊 실전 예제: 부서별 팀별 매출 집계

자동화 시나리오: 여러 부서, 여러 팀의 매출을 한 번에 집계
# 부서별 팀 구조 departments = { “영업본부”: { “1팀”: 50000000, “2팀”: 45000000, “3팀”: 38000000 }, “마케팅본부”: { “디지털팀”: 30000000, “브랜드팀”: 25000000 } } print(“📊 부서별 매출 현황\n”) company_total = 0 for dept_name, teams in departments.items(): print(f”▶ {dept_name}”) dept_total = 0 for team_name, sales in teams.items(): print(f” – {team_name}: {sales:,}원”) dept_total += sales print(f” 소계: {dept_total:,}원\n”) company_total += dept_total print(f”{‘=’*40}”) print(f”전사 총 매출: {company_total:,}원”)
출력: 📊 부서별 매출 현황 ▶ 영업본부 – 1팀: 50,000,000원 – 2팀: 45,000,000원 – 3팀: 38,000,000원 소계: 133,000,000원 ▶ 마케팅본부 – 디지털팀: 30,000,000원 – 브랜드팀: 25,000,000원 소계: 55,000,000원 ======================================== 전사 총 매출: 188,000,000원

초보자가 자주 하는 실수 Top 5

실수 1: 들여쓰기 안 함

# ❌ 에러: IndentationError if age >= 19: print(“성인입니다”) # 들여쓰기 없음! # ✅ 올바른 방법 if age >= 19: print(“성인입니다”) # Tab 또는 스페이스 4칸

실수 2: 콜론(:) 빼먹기

# ❌ 에러: SyntaxError for i in range(5) # 콜론 없음! print(i) # ✅ 올바른 방법 for i in range(5): # 콜론 필수! print(i)

실수 3: = 과 == 헷갈림

# ❌ 에러: 비교가 아니라 할당이 됨 if age = 25: # SyntaxError! print(“25세”) # ✅ 올바른 방법 if age == 25: # 비교는 == (등호 2개) print(“25세”)

실수 4: range() 범위 착각

# ❌ 착각: 1~5까지인 줄 알았는데 4까지만 나옴 for i in range(1, 5): # 5는 포함 안 됨! print(i) # 1, 2, 3, 4 # ✅ 올바른 방법: 5까지 원하면 6으로 for i in range(1, 6): # 6은 포함 안 되니까 5까지 print(i) # 1, 2, 3, 4, 5

실수 5: 무한 루프

# ❌ 위험: 무한 반복! count = 0 while count < 5: print(count) # count를 증가시키지 않음 → 영원히 0 # ✅ 올바른 방법: 조건 변경하기 count = 0 while count < 5: print(count) count += 1 # 반드시 증가!
⚠️ 무한 루프 탈출법: 프로그램이 멈추지 않으면 Ctrl + C를 누르세요!

조건문 & 반복문 비교표

구분 조건문 (if) for 반복문 while 반복문
목적 조건에 따라 다르게 정해진 횟수 반복 조건 만족까지 반복
사용 시기 선택이 필요할 때 리스트 순회, N번 반복 언제 끝날지 모를 때
예시 성적 등급 판정 파일 100개 처리 목표 달성까지
종료 조건 조건 1번만 확인 리스트 끝까지 조건이 False 될 때

실무 자동화 팁

💡 업무 자동화 체크리스트:

1. 반복 작업인가? → for 문 사용
• 파일 여러 개 처리
• 데이터 일괄 변환
• 리스트 순회

2. 조건에 따라 다른가? → if 문 사용
• 등급 판정
• 권한 확인
• 필터링

3. 언제 끝날지 모르는가? → while 문 사용
• 사용자 입력 대기
• 목표 달성까지
• 조건 만족까지

연습 문제로 실력 다지기

문제 1: 직원 출퇴근 체크
# 9시 이전 출근 → “정상”, 9시 이후 → “지각” arrival_times = [“08:50”, “09:10”, “08:45”, “09:05”] for time in arrival_times: hour, minute = map(int, time.split(“:”)) total_minutes = hour * 60 + minute if total_minutes < 540: # 9시 = 540분 print(f”{time} – ✅ 정상 출근”) else: print(f”{time} – ⚠️ 지각”)
문제 2: 할인 쿠폰 발급
# 구매 금액 10만원 이상이면 10% 할인 쿠폰 purchases = [150000, 80000, 120000, 50000] for amount in purchases: if amount >= 100000: discount = int(amount * 0.1) print(f”{amount:,}원 → 쿠폰 발급! (할인: {discount:,}원)”) else: print(f”{amount:,}원 → 미발급”)

마무리: 자동화의 첫걸음을 뗐어요!

축하합니다! 🎉 이제 여러분은 조건문과 반복문을 활용해서 실제 업무를 자동화할 수 있어요!

오늘 배운 내용만으로도 이런 것들이 가능해요:

  • 엑셀 데이터 조건별 필터링
  • 파일명 일괄 변경
  • 급여 계산 자동화
  • 재고 관리 시스템
  • 출석 체크 프로그램

처음엔 조건문과 반복문이 어렵게 느껴질 수 있지만, 직접 코드를 작성하면서 연습하다 보면 어느새 자연스럽게 손에 익을 거예요.

🎯 오늘 배운 것 체크리스트:
✅ if / elif / else로 조건 처리
✅ 비교 연산자 (==, !=, >, <, >=, <=)
✅ 논리 연산자 (and, or, not)
✅ for 문으로 리스트 순회
✅ range()로 N번 반복
✅ while 문으로 조건 반복
✅ break / continue로 흐름 제어
✅ 중첩 반복문으로 2차원 데이터 처리
✅ 실전 자동화 프로젝트 완성!

다음 시리즈에서는 함수(function)를 배워서 코드를 더 깔끔하게 재사용하는 방법을 알아볼 거예요. 기대하세요!

반복되는 업무에 지치셨나요? 이제 파이썬이 대신 해줄 거예요! 💪

error: Content is protected !!