Phase 1 · 파이썬 기초

조건문 — 프로그램에게 판단을 가르치기

입력·계산·출력에 판단을 추가합니다.
if · elif · else · 비교연산자 · 논리연산자로 회계 업무 검토 로직을 프로그램으로 만드는 단계.

예상 학습 시간 : 120분
난이도 : ★★★☆☆
사전 단계 : Step 02 변수와 자료형
다음 단계 : 반복문
01

학습 목표

수업이 끝나면 다음을 직접 할 수 있어야 합니다.

1
조건문의 개념을 이해한다
2
if를 사용할 수 있다
3
else를 사용할 수 있다
4
elif로 여러 조건을 처리할 수 있다
5
비교연산자를 사용할 수 있다
6
논리연산자를 사용할 수 있다
7
여러 조건을 조합할 수 있다
8
중첩 조건문을 사용할 수 있다
9
실제 회계 업무 판단 로직을 코드로 만들 수 있다
02

조건문이란?

한 줄 정의

조건문 = 컴퓨터에게 판단 기준을 알려주는 명령

사람은 일상에서 끊임없이 조건에 따라 판단합니다.

💬 사람의 판단

"나이가 20세 이상이면 성인이다."

🐍 파이썬으로
if age >= 20:
    print("성인")

조건문의 내부 동작은 간단합니다.

조건 검사 (예: age >= 20)
    ↓
True → 코드 실행
False → 코드 건너뜀
03

if — 기본 구조

가장 기본적인 형태입니다.

📌 문법 형태
if 조건:
    실행할 코드
🐍 Python
score = 80

if score >= 60:
    print("합격")
▶ 실행 결과
합격

score가 60 미만이라면 아무것도 출력되지 않습니다. 조건이 False이면 코드 블록 전체를 건너뜁니다.

04

콜론 : 과 들여쓰기

파이썬에서 가장 중요한 문법 규칙 두 가지입니다.

❌ 잘못된 코드
# : 없음 → SyntaxError
if score >= 60
    print("합격")

# 들여쓰기 없음 → IndentationError
if score >= 60:
print("합격")
✅ 올바른 코드
# : 필수
if score >= 60:
    print("합격")
    print("축하합니다.")

# 들여쓰기 밖 → 항상 실행
print("시험 종료")
들여쓰기 = 소속 관계

들여쓰기된 코드는 if소속됩니다. 들여쓰기가 없으면 if와 관계없이 항상 실행됩니다. VS Code에서는 스페이스 4칸 또는 Tab 키를 사용합니다.

05

비교연산자

조건문에서는 두 값을 비교합니다. 비교 결과는 항상 True 또는 False입니다.

==
같다
5 == 5 → True
!=
같지 않다
5 != 3 → True
>
크다
10 > 5 → True
<
작다
3 < 10 → True
>=
크거나 같다
5 >= 5 → True
<=
작거나 같다
3 <= 5 → True
반드시 구별 — = vs ==
= (저장)
age = 30
age에 30을 저장한다
== (비교)
age == 30
age가 30과 같은가?
🐍 비교 결과 확인
print(10 > 5)    # True
print(10 < 5)    # False
print(5 == 5)    # True
print(5 != 3)    # True
06

if + else

조건이 거짓일 때 실행할 코드를 else로 지정합니다.

📌 구조
if 조건:
    조건이 True일 때
else:
    조건이 False일 때
🐍 Python
score = int(input("점수: "))

if score >= 60:
    print("합격")
else:
    print("불합격")
▶ 75 입력 시
합격
▶ 45 입력 시
불합격
회계 업무 예제
amount = int(input("거래금액: "))

if amount >= 10000000:
    print("고액 거래 — 추가 검토 필요")
else:
    print("일반 거래")
07

elif — 여러 조건 처리

elif"그렇지 않고, 만약 이것이라면"이라는 의미입니다. 조건이 3개 이상일 때 사용합니다.

📌 구조
if 조건1:
    실행1
elif 조건2:
    실행2
elif 조건3:
    실행3
else:
    실행4   # 위의 모든 조건이 False일 때

점수에 따라 등급을 정해봅니다.

🐍 성적 등급 판정
score = int(input("점수: "))

if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("F")
⌨ 85 입력 시
점수: 85
▶ 실행 결과
B
08

조건 순서의 중요성

조건은 위에서부터 순서대로 검사합니다. 순서가 잘못되면 예상치 못한 결과가 나옵니다.

❌ 잘못된 순서 (score=95)
if score >= 60:  # 먼저 검사
    print("D")  # ← 95도 D!!
elif score >= 90:
    print("A")  # 절대 실행 안됨
✅ 올바른 순서 (큰 값부터)
if score >= 90:  # 가장 엄격한 조건 먼저
    print("A")  # 95 → A ✓
elif score >= 80:
    print("B")
elif score >= 60:
    print("D")
범위 조건 작성 원칙

범위가 있는 조건은 항상 가장 큰(엄격한) 값부터 먼저 검사합니다.
회계 업무에서 금액 구간 분류 시 특히 중요합니다.

09

문자열 비교

숫자뿐만 아니라 문자열도 비교할 수 있습니다. ==를 사용합니다.

🐍 문자열 비교
customer_type = input("거래처 유형(주요/일반): ")

if customer_type == "주요":
    print("주요 거래처입니다.")
else:
    print("일반 거래처입니다.")

비밀번호 확인 예제:

🐍 로그인 예제
password = input("비밀번호: ")

if password == "1234":
    print("로그인 성공")
else:
    print("비밀번호가 틀렸습니다.")
실무 활용

거래처 유형, 문서 종류(세금계산서/계산서), 상태값(검토중/완료/반려) 등을 판단할 때 문자열 비교를 활용합니다.

10

논리연산자 — and · or · not

여러 조건을 조합할 때 사용합니다.

and
그리고 — 모두 참이어야
True and TrueTrue
True and False → False
False and False → False
or
또는 — 하나만 참이어도
True or False → True
False or TrueTrue
False or False → False
not
아니다 — 결과를 반전
not TrueFalse
not False → True

🐍 논리연산자 활용
# and — 아이디와 비밀번호 둘 다 맞아야
user_id  = input("아이디: ")
password = input("비밀번호: ")

if user_id == "admin" and password == "1234":
    print("로그인 성공")
else:
    print("로그인 실패")

# or — 청소년 또는 노인이면
age = int(input("나이: "))
if age < 20 or age >= 60:
    print("할인 대상")

# not — 회원이 아니면
is_member = False
if not is_member:
    print("회원가입이 필요합니다.")
복잡한 조건은 괄호로

조건이 복잡할 때는 괄호를 사용해 의도를 명확하게 표현하세요.

if age >= 20 and (income >= 30000000 or is_member):
11

중첩 조건문

조건 안에 또 다른 조건을 넣을 수 있습니다.

🐍 중첩 조건 — 회계 업무형
amount   = int(input("거래금액: "))
customer = input("거래처명: ")

if amount >= 10000000:
    print("고액 거래입니다.")

    if customer == "ABC상사":        # if 안의 if
        print("주요 거래처 — 추가 검토")
else:
    print("일반 거래")
중첩이 깊어지면

중첩이 3단계 이상 되면 코드가 복잡해집니다. 가능하면 and/or로 단순화하세요.

단순화 버전
if amount >= 10000000 and customer == "ABC상사":
    print("추가 검토")
12

실습 1 ~ 5

💸
실습 1
할인율 계산기

구매금액에 따라 100만원 이상 10%, 50만원 이상 5%, 그 미만 0% 할인 적용

🐍 Python
amount = int(input("구매금액: "))

if amount >= 1000000:
    discount_rate = 0.10
elif amount >= 500000:
    discount_rate = 0.05
else:
    discount_rate = 0

discount = amount * discount_rate
total    = amount - discount

print(f"할인금액: {discount:,.0f}원")
print(f"결제금액: {total:,.0f}원")
🏢
실습 2 — 회계 업무
거래처 등급 분류
🐍 Python
amount = int(input("거래금액: "))

if amount >= 100000000:    # 1억 이상
    grade = "A"
elif amount >= 50000000:   # 5천만 이상
    grade = "B"
elif amount >= 10000000:   # 1천만 이상
    grade = "C"
else:
    grade = "D"

print(f"거래처 등급: {grade}")
🧾
실습 3 — 회계 업무
세금계산서 검토 분류
🐍 Python
supply = int(input("공급가액: "))

if supply >= 100000000:
    result = "고액 거래 검토"
elif supply >= 10000000:
    result = "일반 검토"
else:
    result = "정상 처리"

print(f"검토 결과: {result}")
🔐
실습 4 — and 활용
로그인 프로그램
🐍 Python
user_id  = input("아이디: ")
password = input("비밀번호: ")

if user_id == "admin" and password == "1234":
    print("로그인 성공")
else:
    print("로그인 실패")
💴
실습 5 — 종합 계산
부가세 + 조건 판단

2단계 부가세 계산 프로그램에 조건문을 결합합니다.

supply = int(input("공급가액: "))

tax   = supply * 0.1
total = supply + tax

print(f"부가세: {tax:,.0f}원")
print(f"합계  : {total:,.0f}원")

if supply >= 10000000:
    print("⚠ 고액 거래입니다.")
else:
    print("✓ 일반 거래입니다.")
지금까지의 발전

입력 → 계산 → 판단 추가 → 결과 출력. 프로그램이 단순 계산기를 넘어 업무 판단을 수행합니다.

13

종합 실습 — 거래처 검토 시스템

3단계의 최종 실습입니다. 지금까지 배운 모든 내용을 결합합니다.

🏆
종합 실습
거래처 검토 시스템
요구사항
입력: 거래처명 · 거래금액 · 거래처 유형(주요/일반)
분류: 1억+ → 고액거래 / 5천만+ → 중요거래 / 그 미만 → 일반거래
추가: 유형이 "주요" AND 5천만+ → "관리자 확인 필요"
🐍 Python — 종합
customer      = input("거래처명: ")
amount        = int(input("거래금액: "))
customer_type = input("거래처 유형(주요/일반): ")

if amount >= 100000000:
    result = "고액 거래"
elif amount >= 50000000:
    result = "중요 거래"
else:
    result = "일반 거래"

print()
print("===== 거래처 검토 결과 =====")
print(f"거래처  : {customer}")
print(f"거래금액: {amount:,}원")
print(f"분류    : {result}")

if customer_type == "주요" and amount >= 50000000:
    print("※ 관리자 확인 필요")

print("==========================")
🎓 강사 포인트 — 업무 프로세스 → 코드

이 프로그램은 실제 업무 검토 절차를 그대로 코드로 옮긴 것입니다. 학생들에게 "현재 이 절차를 몇 명이 수작업으로 하고 있나요?"라고 질문하면 자동화의 필요성을 자연스럽게 느끼게 됩니다.

14

초보자가 자주 하는 실수 4가지

실수 1 — = 와 == 혼동
❌ 잘못
if age = 20:    # SyntaxError
✅ 올바름
if age == 20:
실수 2 — 콜론(:) 누락
❌ 잘못
if age >= 20    # : 없음 → SyntaxError
    print("성인")
✅ 올바름
if age >= 20:
    print("성인")
실수 3 — 들여쓰기 오류
❌ 잘못
if age >= 20:
print("성인")  # IndentationError
✅ 올바름
if age >= 20:
    print("성인")   # 4칸 들여쓰기
실수 4 — input() 결과를 숫자로 착각
❌ 잘못 (문자열로 비교)
price = input("가격: ")   # str!
if price >= 10000:       # TypeError
✅ 올바름
price = int(input("가격: "))  # int
if price >= 10000:          # OK
15

과제 & 핵심 정리

과제 1 — 성적 판정

점수 입력 → 등급 출력

90+ → A / 80+ → B / 70+ → C / 60+ → D / 60 미만 → F

과제 2 — 금액별 수수료

금액에 따라 수수료율 적용

1억 이상 → 3%  |  5천만 이상 → 2%  |  1천만 이상 → 1%  |  그 미만 → 0.5%
과제 3 — 회계 업무형 검토

거래처명 + 거래금액 입력 → 검토 분류 출력

1억+ → 고액거래 관리자 검토  |  5천만+ → 중요거래 담당자 검토
1천만+ → 일반거래  |  1천만 미만 → 일반 처리

핵심 키워드 — 이것을 설명할 수 있으면 3단계 완료입니다.

if 조건:

조건이 True이면 실행

else:

False일 때 실행

elif 조건:

추가 조건 검사

== !=

같다 / 같지 않다

> < >= <=

크기 비교

and or not

논리 연산자

다음 단계 예고 — Step 04: 반복문

지금까지는 거래처 1개만 처리했습니다. 4단계에서는 거래처 100개, 1,000개를 자동으로 반복 처리하는 방법을 배웁니다. 3단계 조건문 + 4단계 반복문이 결합되면 본격적인 업무 자동화 프로그램이 완성됩니다.

1단계 — print() · 실행 순서 · 주석 ✓ 완료
2단계 — 변수 · 자료형 · input() · f-string ✓ 완료
3단계 — 조건문 if · elif · else · 논리연산자 현재 단계
4단계 — 반복문 — for · while
5단계 — 리스트 · 딕셔너리
6단계 — 함수
7단계 ★ — 파일 처리 — 회계 실무 전환
10단계 ★ — 엑셀 자동화
15단계 ★ — 실전 프로젝트
Step 02 : 변수와 자료형 Step 04 : 반복문