09강. [Python]조건문

2025. 2. 2. 01:37·Python/Foundation

조건문이란?

어떠한 조건이 만족했을 때 코드를 실행하게 하는 것이다.

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
'Python/Foundation' 카테고리의 다른 글
  • 11강. [Python]함수
  • 10강. [Python]반복문
  • 08강. [Python]세트
  • 07강. [Python]딕셔너리
C0de-Log
C0de-Log
c0de-log 님의 블로그 입니다.
  • C0de-Log
    C0de-Log
    C0de-Log
  • 전체
    오늘
    어제
    • 분류 전체보기 (18)
      • C (0)
      • Python (17)
        • Foundation (14)
        • Library (3)
      • ML (0)
      • 공모전 & 자격증 (1)
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    연산자
    주석
    조건문
    판다스
    코드블록
    polars
    튜플
    Python
    tuple
    ADSP
    lambda
    numpy
    클래스
    자료형
    들여쓰기
    반복문
    변수
    딕셔너리
    Pandas
    세트
    리스트
    사용자 정의 함수
    폴라스
    넘파이
    dictionary
    합격
    제어문
    함수
    람다
    CLASS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
C0de-Log
09강. [Python]조건문
상단으로

티스토리툴바