본문 바로가기
카테고리 없음

파이썬 하루 1시간 공부일지 ④ – 조건문 if로 프로그램에 논리를 더하기

by jbparkbill 2025. 11. 16.
반응형

조건문 if로 프로그램에 논리를 더하기
조건문 if로 프로그램에 논리를 더하기

변수와 데이터 타입을 이해했다면 이제 파이썬으로 ‘생각하는 코드’를 만들 차례다. 오늘의 주제는 바로 조건문 if. 프로그램이 스스로 판단하고 선택하도록 만드는 논리의 핵심이다. 이 글에서는 if문의 기본 구조, 여러 조건 결합, 중첩 조건문, 그리고 실무에 유용한 예제까지 1시간 안에 완벽히 익힐 수 있도록 안내한다.


오늘의 학습 목표
  • if, elif, else의 구조를 완전히 이해한다.
  • 복합 조건문(AND, OR, NOT)을 활용한다.
  • 실제 상황에 맞는 분기 프로그램을 직접 만들어본다.

1. 조건문이란?

조건문은 프로그램이 ‘상황에 따라 다르게 행동’하도록 만드는 구조다. 즉, 조건이 참(True)이면 특정 코드를 실행하고, 거짓(False)이면 다른 경로를 선택한다.

if 조건:
    실행할 코드
else:
    다른 경우 실행할 코드

2. if의 기본 구조

가장 단순한 형태의 if문부터 시작해 보자.

score = 85

if score >= 80:
    print("합격입니다!")

위 코드는 score가 80 이상일 때만 문장을 출력한다. 조건이 거짓이면 아무 일도 일어나지 않는다.

else문 추가하기

조건이 거짓일 경우에도 행동을 지정하려면 else를 사용한다.

score = 70

if score >= 80:
    print("합격입니다!")
else:
    print("불합격입니다.")

elif로 여러 조건 비교하기

여러 경우를 구분하고 싶을 때는 elif를 사용한다.

score = 92

if score >= 90:
    print("A 학점")
elif score >= 80:
    print("B 학점")
elif score >= 70:
    print("C 학점")
else:
    print("F 학점")

조건은 위에서부터 순서대로 검사 되며, 처음으로 True가 되는 블록만 실행된다.

3. 비교 연산자와 논리 연산자

조건문에서는 다양한 연산자를 사용해 판단을 내린다.

연산자 의미 예시
== 같다 x == 10
!= 같지 않다 x != 5
>, < 크다 / 작다 x > 3, x < 10
>=, <= 크거나 같다 / 작거나 같다 x >= 5, x <= 20

두 개 이상의 조건을 결합할 때는 논리 연산자를 사용한다.

age = 25
is_student = True

if age < 30 and is_student:
    print("청년 학생 할인 대상입니다.")

and는 두 조건이 모두 참일 때, or는 둘 중 하나만 참일 때 True가 된다. not은 조건의 결과를 반대로 뒤집는다.

4. 중첩 조건문

조건문 안에 또 다른 조건문을 넣을 수도 있다.

score = 95
attendance = 80

if score >= 90:
    if attendance >= 75:
        print("A 학점 (출석 우수)")
    else:
        print("A 학점이지만 출석 미달")
else:
    print("다음에 더 노력하세요!")

이처럼 논리를 단계적으로 세분화하면 복잡한 상황도 간단하게 표현할 수 있다.

5. 파이썬의 들여 쓰기 규칙

주의: 파이썬에서는 들여쓰기가 문법의 일부다. 스페이스 4칸 또는 탭을 일관되게 사용해야 한다. 들여쓰기 오류(IndentationError)는 가장 흔한 초보 실수다.

6. 실습 예제: 카페 주문 프로그램

이제 조건문을 이용해 간단한 주문 시스템을 만들어보자.

# day04_cafe.py
menu = input("주문할 음료를 선택하세요 (아메리카노/라떼/주스): ")

if menu == "아메리카노":
    print("아메리카노 3,000원입니다.")
elif menu == "라떼":
    print("라떼 3,500원입니다.")
elif menu == "주스":
    print("주스 4,000원입니다.")
else:
    print("죄송합니다, 해당 메뉴는 없습니다.")

프로그램을 실행하면 사용자의 입력에 따라 다른 결과가 출력된다. 이처럼 조건문은 프로그램의 “판단력”을 만드는 핵심 요소다.

7. 복합 예제: 점수와 등급 평가

두 가지 조건(점수와 출석률)을 함께 고려하는 프로그램을 만들어보자.

# day04_grade.py
score = int(input("시험 점수: "))
attendance = int(input("출석률(%): "))

if score >= 90 and attendance >= 80:
    print("A 학점")
elif score >= 80 and attendance >= 70:
    print("B 학점")
elif score >= 70 and attendance >= 60:
    print("C 학점")
else:
    print("F 학점, 재도전하세요!")

이 코드는 단순한 논리를 넘어, 실제 학습 시스템에서 사용할 수 있는 조건 구조의 기초다.

8. 오늘의 1시간 학습 루틴

시간 활동 내용
10분 if-else 구조 이해 및 기본 예제 복습
20분 elif와 논리 연산자 실습
20분 카페 주문 프로그램 구현
10분 복합 조건문 연습 및 오류 해결
결론:
오늘은 프로그램에 ‘논리’를 추가했다. 조건문을 활용하면 코드가 상황에 따라 다르게 반응한다. 내일은 반복문 for와 while을 배우며, 반복되는 작업을 자동으로 처리하는 법을 익힐 것이다. 이제 파이썬은 점점 ‘자동화 도구’의 형태를 갖춰간다.
반응형