티스토리 뷰

카테고리 없음

Python 기본문법 - 조건문

Band Of Story 2024. 10. 24. 08:52

목차



    Python Logo

     

    조건문반복문만 잘 다뤄도 왠만한 프로그램을 개발할 수 있을겁니다. 저도 꽤 오랜시간동안 개발을 했지만 결국 프로그램이라는것은 조건문과 반복문을 적절하게 조합한다면 어떠한 기능이라도 개발할 수 있으니까요. 물론 우스개 소리일 수 있지만 그만큼 많이 사용되고 중요하다고 말씀드릴 수 있습니다.

    조건문은 프로그래밍에서 매우 중요한 개념 중 하나입니다. 조건문은 프로그램이 특정 조건을 만족할 때만 코드를 실행하도록 제어하는 방식입니다. 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의 조건문은 프로그램의 흐름을 제어하는 데 매우 중요한 역할을 합니다. 이 기본적인 조건문을 이해하면, 더 복잡한 논리 구조를 다룰 수 있게 됩니다. 조건문을 연습하면서 변수와 함께 사용해 보는 것이 좋습니다!

    다년간의 경험으로 조언을 한다면 실습하지 않고 눈으로 개발을 한다면 절대 실력이 늘지 않습니다. 반드시 실습 예제를 통해 직접 연습해 보세요.