파이썬의 조건문과 제어 흐름: if, elif, else
프로그래밍에서 조건문은 특정 조건에 따라 코드의 실행 흐름을 제어하는 데 사용됩니다. 파이썬(Python)에서도 조건문을 통해 프로그램의 흐름을 제어할 수 있습니다. 이번 포스팅에서는 파이썬의 조건문인 if, elif, else의 사용법과 그 활용에 대해 자세히 알아보겠습니다.
1. 조건문이란?
조건문은 프로그램이 주어진 조건에 따라 다른 동작을 수행하도록 제어하는 문법 구조입니다. 파이썬에서 조건문은 주로 if, elif, else 키워드를 사용하여 구현됩니다. 각 키워드는 특정 조건이 참인지 거짓인지에 따라 코드의 실행을 결정합니다.
1.1. if 문
if 문은 주어진 조건이 참(True)일 때, 특정 코드를 실행합니다. 기본적인 형태는 다음과 같습니다.
if 조건:
실행할 코드
예시
x = 10
if x > 5:
print("x는 5보다 큽니다.")
위 코드에서 x가 5보다 크기 때문에 조건이 참이 되어, print() 문이 실행됩니다.
1.2. else 문
else 문은 if 문과 함께 사용되며, if 문의 조건이 거짓(False)일 때 실행할 코드를 지정합니다.
if 조건:
실행할 코드
else:
실행할 코드
예시
x = 3
if x > 5:
print("x는 5보다 큽니다.")
else:
print("x는 5보다 작거나 같습니다.")
위 코드에서 x가 5보다 작기 때문에 조건이 거짓이 되어, else 블록의 코드가 실행됩니다.
1.3. elif 문
elif 문은 여러 조건을 검사할 때 사용됩니다. elif는 "else if"의 줄임말로, 첫 번째 if 조건이 거짓일 때, 다음 조건을 검사합니다. elif 문은 여러 번 사용할 수 있습니다.
if 조건1:
실행할 코드
elif 조건2:
실행할 코드
else:
실행할 코드
예시
x = 7
if x > 10:
print("x는 10보다 큽니다.")
elif x > 5:
print("x는 5보다 크고 10보다 작거나 같습니다.")
else:
print("x는 5보다 작거나 같습니다.")
위 코드에서 x가 5보다 크고 10보다 작기 때문에 elif 조건이 참이 되어, 해당 블록의 코드가 실행됩니다.
2. 조건문에서의 비교 연산자
조건문에서 주로 사용되는 비교 연산자는 다음과 같습니다:
- ==: 두 값이 같은지 비교합니다.
- !=: 두 값이 다른지 비교합니다.
- >: 왼쪽 값이 오른쪽 값보다 큰지 비교합니다.
- <: 왼쪽 값이 오른쪽 값보다 작은지 비교합니다.
- >=: 왼쪽 값이 오른쪽 값보다 크거나 같은지 비교합니다.
- <=: 왼쪽 값이 오른쪽 값보다 작거나 같은지 비교합니다.
예시
x = 10
y = 5
if x == y:
print("x와 y는 같습니다.")
elif x > y:
print("x는 y보다 큽니다.")
else:
print("x는 y보다 작습니다.")
3. 논리 연산자
여러 조건을 조합하여 하나의 조건으로 만들 때는 논리 연산자를 사용합니다. 파이썬의 주요 논리 연산자는 다음과 같습니다:
- and: 두 조건이 모두 참일 때 참입니다.
- or: 두 조건 중 하나라도 참이면 참입니다.
- not: 조건의 참/거짓을 반대로 바꿉니다.
예시
x = 8
if x > 5 and x < 10:
print("x는 5보다 크고 10보다 작습니다.")
if x < 5 or x > 10:
print("x는 5보다 작거나 10보다 큽니다.")
else:
print("x는 5보다 크고 10보다 작거나 같습니다.")
예시: not 사용
is_raining = False
if not is_raining:
print("비가 오지 않습니다. 산책을 나가세요.")
위 코드에서 not 연산자는 is_raining의 값을 반대로 바꿉니다. is_raining이 False이므로, not is_raining은 True가 되어 if 블록의 코드가 실행됩니다.
4. 중첩 조건문
조건문 안에 또 다른 조건문을 넣을 수 있습니다. 이를 중첩 조건문(Nested Conditionals)이라고 합니다. 중첩 조건문은 복잡한 조건을 처리할 때 유용하게 사용할 수 있습니다.
예시
x = 15
if x > 10:
print("x는 10보다 큽니다.")
if x > 20:
print("x는 20보다 큽니다.")
else:
print("x는 20보다 작거나 같습니다.")
else:
print("x는 10보다 작거나 같습니다.")
위 코드에서 x가 10보다 크기 때문에 첫 번째 if 블록이 실행되고, 그 안에서 다시 if-else 조건이 검사됩니다.
5. 삼항 연산자 (Ternary Operator)
파이썬에서는 한 줄로 조건문을 작성할 수 있는 삼항 연산자(Ternary Operator)를 제공합니다. 삼항 연산자는 조건에 따라 값 또는 표현식을 선택합니다.
문법
값1 if 조건 else 값2
예시
x = 10
result = "짝수" if x % 2 == 0 else "홀수"
print(f"x는 {result}입니다.") # 출력: x는 짝수입니다.
위 예제에서 x가 짝수이면 "짝수"가 result에 할당되고, 그렇지 않으면 "홀수"가 할당됩니다.
6. 결론
이번 포스팅에서는 파이썬의 조건문과 제어 흐름에 대해 알아보았습니다. if, elif, else 조건문을 통해 프로그램의 흐름을 제어할 수 있으며, 다양한 연산자를 활용해 복잡한 조건을 구현할 수 있습니다. 조건문은 모든 프로그래밍의 기본이며, 이를 잘 활용하면 보다 유연하고 강력한 프로그램을 작성할 수 있습니다. 다음 포스팅에서는 반복문과 함께 프로그램의 흐름을 제어하는 방법에 대해 알아보겠습니다.
이 글을 통해 파이썬의 조건문과 제어 흐름을 쉽게 이해하고 활용할 수 있을 것입니다. 직접 다양한 조건을 설정해보며 실습해보세요!