# if 문
- 특정 조건에 따라 코드 블록을 실행할 수 있는 제어문
# 단일 조건(if 문의 기본 구조)
if <조건문>:
<코드 블록> # 조건문이 참(True)일 경우 실행될 코드
- <조건문>을 만족하면(참이면) <코드 블록>을 수행하고, 만족하지 않으면(거짓이면) 수행하지 않는다.
- <조건문> 다음에는 콜론(:)을 입력한다.
- 다음 줄에서 <코드 블록>을 입력할 때 들여쓰기를 한다.
x = 95
if x >= 90:
print("Pass")
# Pass
# 단일 조건과 그 외 조건
if <조건문>:
<코드 블록 1> # 조건문이 True일 경우 실행될 코드
else:
<코드 블록 2> # 조건문이 False일 경우 실행될 코드
- <조건문>을 만족하면 <코드 블록 1>을 수행하고, 만족하지 않으면 <코드 블록 2>를 수행한다.
- <조건문>과 else 다음에는 콜론(:)을 입력한다.
- <코드 블록 1>과 <코드 블록 2>는 들여쓰기를 한다.
- else는 단독으로 쓸 수 없고, 반드시 if와 함께 써야 한다.
x = 75
if x >= 90:
print("Pass")
else:
print("Fail")
# Fail
# 여러 조건
if <조건문 1>:
<코드 블록 1> # 조건문 1이 True일 경우 실행될 코드
elif <조건문 2>:
<코드 블록 2> # 조건문 1이 False이고 조건문 2가 True일 경우 실행될 코드
.
.
.
elif <조건문 n>:
<코드 블록 n>
else:
<코드 블록 m> # 조건문이 모두 False일 경우 실행될 코드
- 우선 <조건문 1>을 만족하는지 검사하고, 만족하면 <코드 블록 1>을 수행한다.
- 만약 <조건문 1>을 만족하지 않는다면 다음 조건문인 <조건문 2>를 검사하고, 만족하면 <코드 블록 2>를 수행한다.
- 만약 <조건문 2>도 만족하지 않는다면 그다음 조건문을 검사한다.
- 마지막 조건문인 <조건문 n>을 검사하고, 만족하면 <코드 블록 n>을 수행한다.
- 마지막 조건문까지 만족하지 않으면 'esle:' 아래의 <코드 블록 m>을 수행한다.
- 'else:' 이후는 생략하고 'if ~ elif'만 이용할 수도 있다.
x = 85
if x >= 90:
print("Very Good")
elif 80 <= x < 90:
print("Good")
else:
print("Bad")
# Good
# 중첩 조건
if <조건문 1>:
if <조건문 1-1>: # 조건문 1이 True일 경우 실행될 if문
<코드 블록 1-1> # 조건문 1-1이 True일 경우 실행될 코드
else:
<코드 블록 1-2> # 조건문 1-1이 False일 경우 실행될 코드
elif <조건문 2>:
<코드 블록 2> # 조건문 1이 False이고 조건문 2가 True일 경우 실행될 코드
else:
<코드 블록 3> # 조건문 1과 조건문 2가 모두 False일 경우 실행될 코드
- <조건문 1>을 만족한다면 다시 <조건문 1-1>을 만족하는지 검사한 후에, 만족한다면 <코드 블록 1-1>을 수행하고, 만족하지 않으면 <코드 블록 1-2>를 수행한다.
- 만약 <조건문 1>을 만족하지 않는다면 <조건문 2>를 만족하는지 검사한 후, 만족한다면 <코드 블록 2>를 수행하고, 만족하지 않으면 마지막으로 <코드 블록 3>을 수행한다.
- if 조건문 안의 'if ~ else' 조건문은 들여쓰기를 한다.
x = 100
if x >= 90:
if x == 100:
print("Perfect")
else:
print("Very Good")
elif 80 <= x < 90:
print("Good")
else:
print("Bad")
# Perfect
728x90
'Python' 카테고리의 다른 글
[Python] 시퀀스 자료형(Sequence types) (2) | 2024.01.12 |
---|---|
[Python] for 문 (0) | 2024.01.12 |
[Python] 딕셔너리(Dictionary) (0) | 2024.01.12 |
[Python] 얕은 복사(shallow copy) vs 깊은 복사(deep copy) (0) | 2024.01.12 |
[Python] 문자열 포매팅(string formatting) (2) | 2024.01.11 |