조건문이란?
어떠한 조건이 만족했을 때 코드를 실행하게 하는 것이다.
if, elif, else를 사용하여 조건문을 만들 수 있으며 들여 쓰기와 코드블록에 대한 지식이 필요하다.
들여 쓰기와 코드블록에 대한 개념을 알고 싶으면 밑 링크의 글을 보고 오도록 하자.
01강. 파이썬의 기본 문법
파이썬의 기본 문법파이썬에는 들여 쓰기, 주석 등 기본적인 문법, 개념들이 존재한다.이들을 알아야 다른 개념들도 이해하기 쉽다. 1. 들여쓰기들여 쓰기는 코드를 읽기 쉽도록 일정한 간격을
c0de-log.tistory.com
if문
간단하게 조건 하나만을 거는 것이다.
조건을 만족하면 같은 코드블록에 있는 코드를 실행하고 만족하지 않으면 코드블록에 있는 코드는 실행되지 않는다.
if문의 조건 끝에는 콜론(:)을 붙이며 조건을 만족할 때 실행할 코드들은 모두 들여 쓰기를 해준다.
# if조건문(조건을 만족할 때)
a = 10
if a == 10:
print("a는 10입니다.")
a는 10입니다.
조건을 만족하지 않을 때는 코드블록에 있는 것은 건너뛰는 것을 볼 수 있다.
# if조건문(조건을 만족하지 않을 때)
a = 9
if a == 10:
print("a는 10입니다.")
print("a는 10이 아닙니다.") # 들여쓰기를 하지 않았으므로 코드블록 밖에 있는 코드이다.
a는 10이 아닙니다.
if~else문
하지만 바로 위 코드처럼 작성 시 a가 10이어도 잘못 출력된다.
왜냐하면 "a는 10이 아닙니다."는 특별한 조건에 의해 실행되는 것이 아닌 무조건 실행되는 코드이기 때문이다.
# if조건문
a = 10
if a == 10:
print("a는 10입니다.")
print("a는 10이 아닙니다.") # 이 코드는 실행되면 안되는데 실행이 된다.
a는 10입니다.
a는 10이 아닙니다.
이를 해결할 수 있는 방법은 else를 사용하는 것인데 else는 if문의 조건을 만족하지 않을 때 실행시킬 코드를 정하는 것이다.
# if~else조건문(if의 조건을 만족할 때)
a = 10
if a == 10:
print("a는 10입니다.")
else:
print("a는 10이 아닙니다.")
a는 10입니다.
# if~else조건문(if의 조건을 만족하지 않을 때)
a = 9
if a == 10:
print("a는 10입니다.")
else:
print("a는 10이 아닙니다.")
a는 10이 아닙니다.
if~elif~else문
만약 if문의 조건 말고 다른 조건도 같이 걸고 싶을 때는 elif를 사용해주면 된다.
# if~elif~else문 사용
a = 2
if a == 3:
print("a는 3입니다.")
elif a == 2:
print("a는 2입니다.")
elif a == 1:
print("a는 1입니다.")
else:
print("a는 1, 2, 3이 아닙니다.")
a는 2입니다.
하지만 if~elif~else문은 조건을 위에서부터 아래로 차례차례 검사한다는 것을 조심해야 한다.
이것이 왜 문제가 되는지 아래의 예시로 보여주겠다.
# if~elif~else문의 잘못된 사용
age = 15
if age >= 0:
print("영유아입니다.") # 여기서 이미 조건을 만족하기에 영유아로 출력된다.
elif age >= 13:
print("청소년입니다.")
elif age >= 20:
print("성인입니다.")
else:
print("잘못된 나이입니다.")
영유아입니다.
이렇게 순서를 잘못 설정하는 순간 결과가 잘못 나오는 것을 알 수 있다.
그래서 항상 조건문을 사용할 때는 조건의 순서를 잘 설정할 수 있도록 해야한다.
# if~elif~else문의 올바른 사용
age = 15
if age >= 20:
print("성인입니다.") # 조건을 만족하지 않으므로 두번째 조건으로 간다.
elif age >= 13:
print("청소년입니다.") # 조건을 만족하므로 밑 코드를 출력한다.
elif age >= 0:
print("영유아입니다.")
else:
print("잘못된 나이입니다.")
청소년입니다.
조건문의 활용
조건문은 지금 설명하는 방법 외에도 정말 다양하게 활용된다.
그중에서도 쉽고 많이 사용되는 두 가지 활용을 설명하겠다.
1. 2중 조건문
2중 조건문은 단순하게 조건문 속에 조건문을 넣은 것이다.
아래 예제는 외부의 조건문의 조건을 만족하여 내부 조건문의 조건을 확인하고 만족하는 조건이 있는 경우이다.
# 2중 조건문(외부, 내부 조건문의 조건을 모두 만족하는 경우)
a = 11
if a >= 10:
if a == 10:
print('a는 10입니다.')
elif a == 11: # 만족
print('a는 11입니다.')
else:
print('a는 10과 11을 제외한 10보다 큰 수입니다.')
else:
print('a는 10보다 작습니다.')
a는 11입니다.
아래 예제의 경우는 외부 조건문의 조건을 만족하지 않아 내부 조건문을 확인하지 않고 else문이 실행되는 경우이다.
# 2중 조건문(외부 조건문의 조건을 만족하지 않는 경우)
a = 7
if a >= 10:
if a == 10:
print('a는 10입니다.')
elif a == 11:
print('a는 11입니다.')
else:
print('a는 10과 11을 제외한 10보다 큰 수입니다.')
else:
print('a는 10보다 작습니다.')
a는 10보다 작습니다.
이런 식으로 조건문을 중첩하여 코딩을 할 수도 있다.
2. 사용자로부터 입력받은 값을 조건문에 활용
보통은 조건문을 사용할 때 사용자로부터 값을 입력받고 그 값을 조건문에 활용하는 경우가 많다.
# 사용자로부터 입력받은 수를 조건문에 활용하기
num = int(input("정수를 입력하시오 : "))
if num >= 100:
print("100이상입니다.")
elif num >= 50:
print("100미만 50이상입니다.")
else:
print("50미만입니다.")
정수를 입력하시오 : 40
50미만입니다.
결론
조건문은 어떠한 작업을 해도 많이 사용된다.
특히 인공지능을 공부할 때 데이터 전처리 부분에서 엄청 많이 사용했었다.
그러므로 인공지능을 배울 분들에게는 if문은 기본적으로 알고 있어야 된다고 말하고 싶다.
'Python > Foundation' 카테고리의 다른 글
11강. [Python]함수 (0) | 2025.02.02 |
---|---|
10강. [Python]반복문 (0) | 2025.02.02 |
08강. [Python]세트 (0) | 2025.02.02 |
07강. [Python]딕셔너리 (0) | 2025.02.01 |
06강. [Python]튜플 (0) | 2025.02.01 |