티스토리 뷰
목차
조건문과 반복문만 잘 다뤄도 왠만한 프로그램을 개발할 수 있을겁니다. 저도 꽤 오랜시간동안 개발을 했지만 결국 프로그램이라는것은 조건문과 반복문을 적절하게 조합한다면 어떠한 기능이라도 개발할 수 있으니까요. 물론 우스개 소리일 수 있지만 그만큼 많이 사용되고 중요하다고 말씀드릴 수 있습니다.
조건문은 프로그래밍에서 매우 중요한 개념 중 하나입니다. 조건문은 프로그램이 특정 조건을 만족할 때만 코드를 실행하도록 제어하는 방식입니다. Python에서는 if, elif, else 키워드를 사용하여 조건문을 작성합니다. 초보자가 쉽게 이해할 수 있도록 Python의 조건문에 대해 하나씩 설명드릴게요.
1. 기본 조건문 (if 문)
Python에서 가장 기본적인 조건문은 if 문입니다. if 문은 특정 조건이 **참(True)**인 경우에만 실행됩니다.
기본 구조:
if 조건:
실행할 코드
- if 다음에 오는 조건이 **참(True)**이면, 들여쓰기 된 코드 블록이 실행됩니다.
- 들여쓰기(공백 4칸 또는 탭)는 매우 중요합니다. 들여쓰기로 코드 블록을 구분합니다.
예시:
age = 18
if age >= 18:
print("성인입니다.")
설명:
- age가 18이므로 조건인 age >= 18이 참(True)입니다.
- 따라서 print("성인입니다.") 코드가 실행됩니다.
2. else 문
else 문은 if 조건이 **거짓(False)**일 때 실행되는 코드 블록을 지정합니다. 즉, 조건이 참이 아니면 else 블록이 실행됩니다.
기본 구조:
if 조건:
실행할 코드 (조건이 참일 때)
else:
실행할 코드 (조건이 거짓일 때)
예시:
age = 16
if age >= 18:
print("성인입니다.")
else:
print("미성년자입니다.")
출력:
미성년자입니다.
설명:
- age가 16이므로 조건 age >= 18은 거짓(False)입니다.
- 따라서 else 블록이 실행되어 "미성년자입니다."가 출력됩니다.
3. elif 문 (다중 조건)
**elif**는 "else if"의 줄임말로, 여러 조건을 체크하고 싶을 때 사용합니다. if 조건이 거짓일 경우, elif 조건을 확인하며, 그 조건이 참이면 elif 블록이 실행됩니다. **elif**는 원하는 만큼 사용할 수 있습니다.
기본 구조:
if 조건1:
실행할 코드 (조건1이 참일 때)
elif 조건2:
실행할 코드 (조건1이 거짓이고 조건2가 참일 때)
else:
실행할 코드 (모든 조건이 거짓일 때)
예시:
age = 15
if age >= 18:
print("성인입니다.")
elif age >= 13:
print("청소년입니다.")
else:
print("어린이입니다.")
출력:
청소년입니다.
설명:
- age가 15이므로 조건 age >= 18은 거짓(False)입니다.
- 다음으로, elif 조건 age >= 13이 참(True)이므로, print("청소년입니다.")가 실행됩니다.
4. 복합 조건 (논리 연산자)
여러 조건을 논리 연산자를 사용하여 하나의 조건으로 결합할 수 있습니다. Python에서 자주 사용하는 논리 연산자는 **and, or, not**입니다.
- and: 두 조건이 모두 참일 때만 참.
- or: 두 조건 중 하나라도 참이면 참.
- not: 조건의 반대 값을 반환. 즉, 참이면 거짓, 거짓이면 참으로 바꿉니다.
예시 1: and 연산자
age = 20
money = 10000
if age >= 18 and money >= 5000:
print("성인이고 충분한 돈이 있습니다.")
출력:
성인이고 충분한 돈이 있습니다.
설명:
- **age >= 18**이 참이고, **money >= 5000**도 참이므로, and 연산자가 참(True)입니다. 따라서 조건이 성립되어 코드가 실행됩니다.
예시 2: or 연산자
age = 16
money = 3000
if age >= 18 or money >= 5000:
print("성인이거나 충분한 돈이 있습니다.")
else:
print("성인도 아니고 돈도 부족합니다.")
출력:
성인도 아니고 돈도 부족합니다.
설명:
- **age >= 18**은 거짓(False)이고, **money >= 5000**도 거짓(False)이므로, or 연산자는 거짓(False)이므로 else 블록이 실행됩니다.
예시 3: not 연산자
is_active = False
if not is_active:
print("비활성 상태입니다.")
출력:
비활성 상태입니다.
설명:
- **is_active**가 False이므로 **not is_active**는 참(True)이 됩니다. 따라서 조건이 성립되어 코드가 실행됩니다.
5. 중첩된 조건문
조건문 안에 또 다른 조건문을 사용할 수도 있습니다. 이를 중첩된 조건문이라고 합니다.
예시:
age = 20
money = 4000
if age >= 18:
if money >= 5000:
print("성인이고 충분한 돈이 있습니다.")
else:
print("성인이지만 돈이 부족합니다.")
else:
print("미성년자입니다.")
출력:
성인이지만 돈이 부족합니다.
설명:
- 첫 번째 if 조건 age >= 18이 참(True)이므로, 안쪽의 조건문이 실행됩니다.
- 안쪽 조건에서 **money >= 5000**은 거짓(False)이므로 else 블록이 실행됩니다.
6. 비교 연산자
조건문에서 사용하는 비교 연산자는 두 값을 비교하여 참(True) 또는 거짓(False)을 반환합니다.
== | 두 값이 같은지 비교 | a == b |
!= | 두 값이 다른지 비교 | a != b |
> | 왼쪽 값이 큰지 비교 | a > b |
< | 왼쪽 값이 작은지 비교 | a < b |
>= | 왼쪽 값이 크거나 같은지 비교 | a >= b |
<= | 왼쪽 값이 작거나 같은지 비교 | a <= b |
예시:
a = 10
b = 20
if a != b:
print("a와 b는 다릅니다.")
출력:
a와 b는 다릅니다.
7. 삼항 연산자 (한 줄로 쓰는 조건문)
Python에서는 삼항 연산자(ternary operator)를 사용해 조건문을 한 줄로 표현할 수 있습니다.
기본 구조:
참일 때 값 if 조건 else 거짓일 때 값
예시:
age = 18
status = "성인" if age >= 18 else "미성년자"
print(status)
출력:
성인
설명:
- 조건 age >= 18이 참이므로, "성인"이 변수 status에 할당됩니다.
요약
- if 문: 조건이 **참(True)**일 때만 코드를 실행합니다.
- else 문: if 조건이 **거짓(False)**일 때 실행할 코드를 정의합니다.
- elif 문: 여러 조건을 차례대로 검사하여 조건에 맞는 코드를 실행합니다.
- 논리 연산자: **and, or, not**을 사용하여 복합적인 조건을 처리할 수 있습니다.
- 중첩된 조건문: 조건문 안에 또 다른 조건문을 사용할 수 있습니다.
- 삼항 연산자: 조건문을 한 줄로 간단하게 표현할 수 있습니다.
Python의 조건문은 프로그램의 흐름을 제어하는 데 매우 중요한 역할을 합니다. 이 기본적인 조건문을 이해하면, 더 복잡한 논리 구조를 다룰 수 있게 됩니다. 조건문을 연습하면서 변수와 함께 사용해 보는 것이 좋습니다!
다년간의 경험으로 조언을 한다면 실습하지 않고 눈으로 개발을 한다면 절대 실력이 늘지 않습니다. 반드시 실습 예제를 통해 직접 연습해 보세요.