파이썬에서 if 문은 조건에 따라 코드 블록을 실행하거나 건너뛰는 방식으로 프로그램의 흐름을 제어하는 데 사용된다. 조건이 참(True)일 경우 해당 블록이 실행되며, 조건이 거짓(False)일 경우 해당 블록이 실행되지 않는다. if 문을 사용하면 프로그램이 다양한 조건을 처리하고 그에 따라 동작할 수 있게 된다.
1. 기본 구조
if 문의 기본 구조는 다음과 같다.
if 조건:
# 조건이 참일 때 실행되는 코드
예제)
x = 10
if x > 0:
print("x는 양수입니다.")
이 예제에서 x가 0보다 크기 때문에 조건이 참이 되어 print 문이 실행된다.
2. else 문
else 문은 if 문의 조건이 거짓(False)일 때 실행되는 코드 블록을 지정한다.
if 조건:
# 조건이 참일 때 실행되는 코드
else:
# 조건이 거짓일 때 실행되는 코드
예제)
x = -5
if x > 0:
print("x는 양수입니다.")
else:
print("x는 음수 또는 0입니다.")
이 예제에서 x가 0보다 크지 않기 때문에 조건이 거짓이 되어 else 블록이 실행된다.
3. elif 문
elif 문은 else if의 줄임말로, 첫 번째 if 문의 조건이 거짓일 때 다른 조건을 검사할 때 사용된다. 여러 개의 elif 문을 사용할 수 있다.
if 조건1:
# 조건1이 참일 때 실행되는 코드
elif 조건2:
# 조건2가 참일 때 실행되는 코드
else:
# 모든 조건이 거짓일 때 실행되는 코드
예제)
x = 0
if x > 0:
print("x는 양수입니다.")
elif x == 0:
print("x는 0입니다.")
else:
print("x는 음수입니다.")
이 예제에서 x가 0이므로 elif 블록이 실행된다.
4. 중첩 if 문
if 문은 다른 if 문 안에 중첩되어 사용할 수 있다. 이를 통해 더 복잡한 조건을 처리할 수 있다.
if 조건1:
# 조건1이 참일 때 실행되는 코드
if 조건2:
# 조건2가 참일 때 실행되는 코드
else:
# 조건2가 거짓일 때 실행되는 코드
else:
# 조건1이 거짓일 때 실행되는 코드
예제)
x = 10
y = 5
if x > 0:
if y > 0:
print("x와 y는 모두 양수입니다.")
else:
print("x는 양수이고 y는 음수 또는 0입니다.")
else:
print("x는 음수 또는 0입니다.")
이 예제에서 x와 y가 모두 양수이기 때문에 첫 번째 if 블록과 그 안의 if 블록이 모두 실행된다.
5. 다중 조건 검사
if 문은 논리 연산자(and, or, not)를 사용하여 여러 조건을 동시에 검사할 수 있다.
x = 15
if x > 0 and x % 2 == 0:
print("x는 양수이고 짝수입니다.")
elif x > 0 and x % 2 != 0:
print("x는 양수이고 홀수입니다.")
else:
print("x는 음수 또는 0입니다.")
이 예제에서 x는 양수이고 홀수이기 때문에 두 번째 elif 블록이 실행된다.
6. 삼항 연산자 (Ternary Operator)
파이썬에서는 삼항 연산자를 사용하여 if 문을 간단하게 표현할 수 있다. 삼항 연산자는 하나의 줄에 조건식과 실행할 코드를 작성한다.
참일_때_값 if 조건 else 거짓일_때_값
예제)
x = 10
result = "양수" if x > 0 else "음수 또는 0"
print(result) # 출력: 양수
이 예제에서 x가 양수이므로 result에 "양수"가 할당된다.
7. 다양한 활용 예제
if 문을 활용한 다양한 제어 흐름 예제들을 살펴보자.
예제 1: 사용자 입력 처리
age = int(input("나이를 입력하세요: "))
if age < 18:
print("미성년자입니다.")
elif age < 65:
print("성인입니다.")
else:
print("노년층입니다.")
이 예제에서 사용자의 나이에 따라 다른 메시지를 출력한다.
예제 2: 점수에 따른 학점 부여
score = int(input("점수를 입력하세요: "))
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'F'
print(f"학점: {grade}")
이 예제에서 사용자가 입력한 점수에 따라 학점을 부여한다.
예제 3: 로그인 시스템
username = input("사용자 이름을 입력하세요: ")
password = input("비밀번호를 입력하세요: ")
if username == "admin" and password == "1234":
print("로그인 성공!")
else:
print("로그인 실패. 사용자 이름 또는 비밀번호가 잘못되었습니다.")
이 예제에서 사용자 이름과 비밀번호를 검사하여 로그인 성공 여부를 판단한다.