조건문은 프로그램의 흐름을 제어하는 구문입니다. 조건에 따라 다른 코드가 실행되도록 하는 제어문 중 하나입니다.
조건문의 개념 이해
조건문이란
조건문은 주어진 조건이 참(True)일 때만 특정 코드 블록을 실행하는 프로그래밍 구문입니다. 이는 프로그램이 동적으로 데이터를 처리하고 반응하도록 만들어줍니다.
조건문의 필요성과 활용
조건문은 프로그램의 로직을 구성하는 핵심적인 요소입니다. 사용자의 입력, 계산 결과, 현재 상태 등에 따라 다른 동작을 하도록 구현하는데 필요합니다
파이썬에서 조건문을 사용한 간단한 예제는 아래와 같습니다.
x = 10
if x > 0:
print("x는 양수입니다.")
elif x < 0:
print("x는 음수입니다.")
else:
print("x는 0입니다.")
if문
if문은 조건에 따라 코드를 실행하거나 실행하지 않도록 하는 제어문입니다.
if문의 기본 구조
if문의 기본 구조는 다음과 같습니다:
if 조건:
실행할 코드
조건이 참이면 실행할 코드가 실행되고, 조건이 거짓이면 실행할 코드는 건너뜁니다.
if문 활용 예제
짝수와 홀수 판별하기
number = 7
if number % 2 == 0:
print("이 숫자는 짝수입니다.")
if number % 2 != 0:
print("이 숫자는 홀수입니다.")
양수, 음수, 0 판별하기
number = -5
if number > 0:
print("이 숫자는 양수입니다.")
if number < 0:
print("이 숫자는 음수입니다.")
if number == 0:
print("이 숫자는 0입니다.")
else문
else문은 기본적으로 조건문인 if 문의 일부로 사용되며, if 조건이 거짓(False)일 때 실행되는 코드 블록을 정의합니다.
else문의 기본 구조
if 조건:
# 조건이 참(True)일 때 실행할 명령
else:
# 조건이 거짓(False)일 때 실행할 명령
else문 활용예제
사용자 나이에 따른 메세지 출력
# 사용자로부터 나이 입력 받기
age = int(input("나이를 입력해주세요: "))
# 나이에 따른 조건 처리
if age >= 18:
print("성인이시군요! 어서오세요.")
else:
print("미성년자는 출입이 제한됩니다.")
온도에 따른 날씨 상태 알림
# 사용자로부터 현재 온도 입력 받기
temperature = float(input("현재 온도를 입력해주세요: "))
# 온도에 따른 조건 처리
if temperature > 30:
print("오늘은 매우 더운 날입니다. 물을 많이 마시세요!")
else:
print("시원한 날씨네요. 즐거운 하루 보내세요!")
elif문
elif문은 else if의 축약형으로, 여러 조건을 순차적으로 검사할 때 사용하는 파이썬의 조건문입니다. if문 다음에 오며, else 문보다 먼저 나타나야합니다. elif는 하나 이상 사용될 수 있으며, 각각의 elif블록은 고유한 조건을 검사합니다.
elif문의 기본 구조
if 첫 번째 조건:
# 첫 번째 조건이 참(True)일 때 실행할 코드
elif 두 번째 조건:
# 첫 번째 조건이 거짓(False)이고 두 번째 조건이 참일 때 실행할 코드
elif 세 번째 조건:
# 앞의 조건들이 거짓이고 세 번째 조건이 참일 때 실행할 코드
else:
# 위의 모든 조건이 거짓일 때 실행할 코드
성적 등급 분류 시스템
# 사용자로부터 시험 점수 입력 받기
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등급입니다.")
교통수단 추천 시스템
# 사용자로부터 가진 금액 입력 받기
money = int(input("가지고 있는 금액을 입력해주세요: "))
# 금액에 따른 교통수단 추천
if money >= 50000:
print("택시를 타고 편하게 가세요!")
elif money >= 10000:
print("공항버스를 이용할 수 있습니다.")
elif money >= 2500:
print("지하철을 타고 가세요!")
elif money >= 1000:
print("일반 버스를 이용해 보세요.")
else:
print("걸어가는 건 어떨까요?")
중첩 조건문
중첩 조건문이란 조건문 내부에 또 다른 조건문이 포함되어 있는 구조를 말합니다.
중첩 조건문 사용법
if 외부 조건:
# 외부 조건이 참일 때 실행할 코드
if 내부 조건:
# 외부 조건과 내부 조건 모두 참일 때 실행할 코드
else:
# 외부 조건은 참이지만 내부 조건이 거짓일 때 실행할 코드
else:
# 외부 조건이 거짓일 때 실행할 코드
중첩 조건문 예제
영화 추천 시스템
# 사용자로부터 나이와 선호하는 장르 입력 받기
age = int(input("나이를 입력해주세요: "))
genre = input("좋아하는 영화 장르를 입력해주세요: ")
# 나이에 따른 영화 추천
if age >= 18:
if genre == "액션":
print("신나는 액션 영화 '미션 임파서블'을 추천합니다.")
elif genre == "코미디":
print("웃음이 가득한 코미디 영화 '슈퍼배드'를 추천합니다.")
else:
print("성인을 위한 다양한 영화가 많이 있습니다.")
else:
if genre == "애니메이션":
print("모든 연령을 위한 '겨울왕국'을 추천합니다.")
elif genre == "판타지":
print("마법의 세계를 경험할 수 있는 '해리포터' 시리즈를 추천합니다.")
else:
print("가족과 함께 볼 수 있는 영화를 찾아보세요.")
식당 메뉴 및 할인정보 안내 시스템
# 사용자로부터 식당 유형 입력 받기
restaurant_type = input("식당 유형을 입력해주세요 (한식, 중식, 양식): ")
# 현재 시간 (오후 3시를 15로 가정)
current_hour = int(input("현재 시간을 입력해주세요 (0~24의 숫자로): "))
# 식당 유형에 따른 메뉴 추천 및 할인 정보 안내
if restaurant_type == "한식":
if 11 <= current_hour <= 14:
print("점심시간 할인 중입니다! 비빔밥을 추천드립니다.")
else:
print("저녁 식사로 불고기를 추천드립니다.")
elif restaurant_type == "중식":
if 17 <= current_hour <= 20:
print("저녁시간 할인 중입니다! 짜장면을 추천드립니다.")
else:
print("점심 식사로 탕수육을 추천드립니다.")
elif restaurant_type == "양식":
if current_hour < 10 or current_hour > 22:
print("조식 및 야식 메뉴로 오믈렛을 추천드립니다.")
else:
print("스테이크가 오늘의 특별 메뉴입니다.")
else:
print("입력하신 식당 유형이 올바르지 않습니다.")
조건문 논리 연산자
조건문에서 논리 연산자를 사용하면 여러 조건을 조합항려 복잡한 조건식을 만들 수 있습니다. 파이썬에서는 and, or, not 세 가지입니다.
- and: 모든 조건이 참일 때 조건식이 참이 됩니다.
- or: 조건 중 하나라도 참이면 전체 조건식이 참이 됩니다.
- not: 조건의 결과를 반대로 뒤집습니다. 조건이 참이면 거짓, 거짓이면 참으로 만듭니다.
논리 연산자를 사용한 조건식 예제
and 연산자
# 온도와 습도에 따른 야외 활동 권장 여부 판단
temperature = 22
humidity = 30
if temperature > 20 and humidity < 50:
print("야외 활동을 하기에 좋은 날씨입니다!")
else:
print("온도 또는 습도가 적합하지 않아 야외 활동을 추천하지 않습니다.")
or 연산자
# 주말 또는 휴일 여부에 따른 휴식 여부 판단
is_weekend = True
is_holiday = False
if is_weekend or is_holiday:
print("오늘은 쉬는 날입니다! 휴식을 취하세요.")
else:
print("오늘은 평일입니다. 업무를 이어가야 합니다.")
not 연산자
# 조명 상태에 따른 조명 스위치 조작 안내
light_on = False
if not light_on:
print("조명이 꺼져 있습니다. 스위치를 켜주세요.")
else:
print("조명이 켜져 있습니다. 현재 상태를 유지하세요.")
할인 쿠폰 적용 가능 여부 확인
# 사용자로부터 구매 금액과 고객 등급 입력 받기
purchase_amount = int(input("구매 금액을 입력해주세요: "))
customer_grade = input("고객 등급을 입력해주세요 (Gold, Silver, Normal): ")
# 할인 쿠폰 적용 가능 여부 판단
if (purchase_amount > 50000 and customer_grade == "Gold") or \
(purchase_amount > 30000 and customer_grade == "Silver") or \
(purchase_amount > 10000 and customer_grade == "Normal"):
print("할인 쿠폰을 적용할 수 있습니다!")
else:
print("할인 쿠폰을 적용할 수 없습니다.")
회윈 등급과 구매 금액에 따른 배송비 면제 여부
# 사용자로부터 회원 등급과 구매 금액 입력 받기
member_grade = input("회원 등급을 입력해주세요 (VIP, Gold, Normal): ")
purchase_amount = int(input("구매 금액을 입력해주세요: "))
# 배송비 면제 여부 판단
if (member_grade == "VIP") or (member_grade == "Gold" and purchase_amount > 30000) or (member_grade == "Normal" and purchase_amount > 50000):
print("배송비가 면제됩니다!")
else:
print("배송비 면제 조건에 해당하지 않습니다.")
도서관 이용 가능 여부
# 사용자로부터 학생 여부와 시험 기간 여부 입력 받기
is_student = input("학생이십니까? (예/아니오): ") == "예"
is_exam_period = input("현재 시험 기간입니까? (예/아니오): ") == "예"
# 도서관 스터디룸 이용 가능 여부 판단
if is_student and (is_exam_period or not is_exam_period):
print("도서관 스터디룸을 이용할 수 있습니다.")
else:
print("도서관 스터디룸 이용은 학생만 가능합니다.")
삼항연산자
if-else 조건문을 한 줄의 코드로 축약하여 작성할 수 있게 해주는 표현식입니다.
삼항연산자 사용법
<참일 때의 값> if <조건> else <거짓일 때의 값>
조건이 참일때 참일 때의 값, 거짓이면, 거짓일 때의 값이 결과가 됩니다.
삼항연산자 예제
점수에 따른 합격 여부 결정
# 사용자로부터 시험 점수 입력 받기
score = int(input("시험 점수를 입력해주세요: "))
# 점수에 따른 합격 여부 삼항 연산자로 판단
result = "합격" if score >= 60 else "불합격"
print(f"당신은 {result}입니다.")
할인율 적용 여부에 따른 최종 가격 계산
# 사용자로부터 원래 가격 입력 받기
original_price = float(input("상품의 원래 가격을 입력해주세요: "))
# 구매 금액이 10000원 이상일 경우 10% 할인 적용
discount_rate = 0.1 if original_price >= 10000 else 0.0
final_price = original_price * (1 - discount_rate)
print(f"할인율 적용 후 최종 가격은 {final_price}원 입니다.")
참고자료