[Python 파이썬] 4. 제어문: 조건문
개요
이번 강좌에서는 파이썬의 제어문 중 조건문에 대해 자세히 알아보겠습니다. 조건문은 프로그램의 흐름을 제어하는 핵심 문법으로, 주어진 조건에 따라 다른 코드를 실행하도록 도와줍니다. 여기서는 if, elif, else의 기본 문법부터 중첩 조건문, 그리고 Python 3.10 이상에서 사용할 수 있는 match-case 문법까지 단계별로 설명하겠습니다. 각 내용마다 실습 예제와 주석을 통해 이해를 돕고자 하오니, 하나씩 따라해 보시길 바랍니다.
if, elif, else 문법
조건문은 주어진 조건에 따라 프로그램이 다르게 동작하게 하는 데 사용됩니다. 가장 기본적인 형태는 if 문으로, 조건이 참이면 해당 블록의 코드를 실행합니다. 여러 조건을 처리할 때는 elif를 사용하며, 모든 조건이 거짓일 경우 else를 통해 기본 동작을 정의할 수 있습니다.
예제 코드:
# 사용자 입력에 따라 인사말을 다르게 출력하는 예제입니다.
age = int(input("나이를 입력하세요: ")) # 사용자 입력값을 정수형으로 변환
if age < 13:
print("안녕, 어린이!")
elif 13 <= age < 20:
print("안녕, 청소년!")
else:
print("안녕, 성인!")
실행 결과 (예시):
나이를 입력하세요: 15
안녕, 청소년!
위 예제에서 사용자의 나이에 따라 다른 메시지를 출력하도록 조건문을 구성하였습니다. 조건문의 순서와 들여쓰기에 주의하여 코드를 작성하면, 프로그램의 흐름을 효과적으로 제어할 수 있습니다.
중첩 조건문
중첩 조건문은 하나의 조건문 안에 또 다른 조건문을 포함시키는 방식입니다. 복잡한 조건을 세분화하여 처리할 때 유용하며, 각 조건마다 세밀한 분기가 필요할 때 사용됩니다.
예제 코드:
# 사용자의 점수에 따라 학점과 합격 여부를 판단하는 예제입니다.
score = int(input("시험 점수를 입력하세요: "))
if score >= 60:
print("합격입니다!")
# 추가로 점수에 따른 학점을 부여합니다.
if score >= 90:
print("학점: A")
elif score >= 80:
print("학점: B")
elif score >= 70:
print("학점: C")
else:
print("학점: D")
else:
print("불합격입니다.")
실행 결과 (예시):
시험 점수를 입력하세요: 85
합격입니다!
학점: B
이 예제에서는 첫 번째 조건문으로 합격 여부를 확인하고, 합격일 경우 다시 중첩된 조건문을 통해 점수에 따른 학점을 판별합니다. 중첩 조건문을 사용할 때는 들여쓰기를 정확히 하여 각 조건의 범위를 명확히 하는 것이 중요합니다.
match-case 문법 (Python 3.10+)
Python 3.10부터 도입된 match-case 문법은 여러 조건을 한눈에 보기 쉽게 구성할 수 있는 패턴 매칭 기능입니다. switch-case와 유사한 형태를 띠며, 복잡한 조건 분기를 보다 깔끔하게 표현할 수 있습니다.
예제 코드:
# 요일에 따라 다른 메시지를 출력하는 match-case 예제입니다.
day = input("오늘의 요일을 영어로 입력하세요 (예: Monday): ")
match day:
case "Monday":
print("월요일입니다. 한 주의 시작, 힘내세요!")
case "Tuesday":
print("화요일입니다. 오늘도 열심히!")
case "Wednesday":
print("수요일입니다. 주 중반, 조금만 더 힘내세요!")
case "Thursday":
print("목요일입니다. 거의 다 왔어요!")
case "Friday":
print("금요일입니다. 주말이 코앞입니다!")
case "Saturday" | "Sunday":
print("주말입니다. 푹 쉬세요!")
case _:
print("입력한 요일이 올바르지 않습니다.")
실행 결과 (예시):
오늘의 요일을 영어로 입력하세요 (예: Monday): Friday
금요일입니다. 주말이 코앞입니다!
match-case 문법은 여러 경우의 수를 한 곳에서 처리할 수 있도록 하여, 코드의 가독성을 높이고 유지보수를 용이하게 합니다. 특히 복잡한 조건 분기가 필요한 경우, 기존의 if-elif-else 구조보다 훨씬 간결하게 작성할 수 있습니다.
정리
- if, elif, else: 기본 조건문을 통해 단순한 조건 분기를 구현할 수 있습니다.
- 중첩 조건문: 조건문 안에 다른 조건문을 포함시켜 세밀한 조건 분기를 처리할 수 있습니다.
- match-case 문법: Python 3.10부터 도입된 패턴 매칭 기능으로, 복잡한 조건문을 깔끔하게 작성할 수 있습니다.
- 실습 예제: 각 예제 코드를 실행하며 조건문 사용법을 몸소 체험할 수 있습니다.
- 가독성과 유지보수: 올바른 들여쓰기와 코드 스타일을 통해 읽기 쉽고 관리하기 좋은 코드를 작성하는 것이 중요합니다.