본문 바로가기
SK 행복성장캠퍼스/Python 기초

0902_3일차_조건문

by NickNuma 2020. 9. 6.

조건문 설명입니다.


먼저 실행문에는 순차문과 제어문이 있습니다.
순차문은 일반적으로 순서대로 진행되는 문장을 이야기하고
제어문은 오늘 배울 조건문과 다음에 배울 반복문을 이야기합니다.

조건문조건에 따라 다음의 문장이 달라지기 때문분기문이라고도 합니다.
조건문에는 단일 if문, if ~ else문, 다중 if문(if ~ elif), 3항 연산자가 있습니다.
( *주의할 점은 콜론 : 을 사용하는데 콜론 : 다음 문장은 반드시 들여쓰기를 해야한다는 점입니다. (tab) )

"""
    문장 2 종류

    1) 실행문
        가. 순차문  : 일반적으로 순차적으로 진행되는 문장
        나. 제어문
            - 조건문 (분기문) : 단일 if문, if ~ else문, 다중 if문, 3항 연산자            
            - 반복문   : for문 
                        while문
                        ( do ~ while문 지원 x )                                                
                        
            * 주의할점
                : 콜론(:)을 사용하는데
                반드시 콜론(:) 다음 문장은 들여쓰기 해야한다.

    2) 비실행문 ( 주석문 )
        - 한 줄 주석문 : hash tags ( # )
        - 멀티 주석 : triple quotation marks (""" """ / ''' ''')

"""

 


단일 if문    :    조건에 따라 실행 여부를 결정할 때 사용합니다.

# 1. 단일 if문 : 조건에 따라서 실행 여부를 결정할 때
"""
    문법 (syntax):
        if 조건식:   # if문
            문장     # 조건식이 True인 경우에만 실행
"""
print("1")      # 1
if False:
    print("2")  # Grouping
    print("3")
print("4")      # 4
print("End")    # End

 


if ~ else 문    :    if문과 else문장으로 나뉜 문장으로 조건식이 True면 if문 문장이 실행, False면 else문 문장이 실행됩니다.

# 2. if ~ else 문 :
"""
    문법 (syntax):
        if 조건식:     # if else문
            문장       # 조건식이 True인 경우에 실행
        else:
            문장       # 조건식이 False인 경우에 실행
            
"""
print("A")          # A
if True:
    print("B")      # B    # Grouping
    print("B2")
else:
    print("C")  # Grouping
    print("C2")
print("D")          # D
print("End")        # End

 


if 조건식에 들어갈 수 있는 표현식  == True, false로 표현 가능한 모든 식
1) 논리 연산자 ( True / False )
2) 비교 연산자 ( ==, >, ... )
3) 논리 연산자 ( and, or, not )
4) 멤버십 연산자 ( 10 in [10, 20] )
5) 모든 데이터 ( 정수, 실수, 리스트, 딕셔너리
... )

"""
    if 조건식(A):
        문장
        
    조건식(A) 위치에 사용할 수 있는 값 또는 연산표현식에 무엇이 있을까?
        1) 논리 연산자 ( True / False )
        2) 비교 연산자 ( ==, >, ... )
        3) 논리 연산자 ( and, or, not )
        4) 멤버십 연산자 ( 10 in [10, 20] )
        5) 모든 데이터 ( 정수, 실수, 리스트, 딕셔너리 ... )
        
            < False로 처리하는 데이터  (***** x 100) >
              0       :   정수 0
              ""      :   빈 문자열
              []      :   빈 리스트
              {}      :   빈 딕셔너리
              None    :   None, Null
"""

 


1. 비교 연산자를 사용한 if문

# 조건식 : 비교 연산자
if 4 > 5:               # 거짓
    print("4 > 5")
else:
    print("4 <= 5")     # 4 <= 5

 

2. 논리 연산자를 사용한 if문

# 조건식 : 논리 연산자
if 4 > 5 and 5 == 5:            # 거짓 and 참 ==> 거짓
    print("4 > 5 and 5 == 5")
else:
    print("not ( 4 > 5 and 5 == 5 )")       # not ( 4 > 5 and 5 == 5 )

 

3. 멤버십 연산자를 사용한 if문

# 조건식 : 멤버십 연산자
if 10 in [10, 20, 30]:          # 참
    print("10 존재")             # 10 존재
else:
    print("10 존재 안 함")

 

4. 모든 데이터형 역시 조건문 if로 표현 가능
< False로 처리하는 데이터 (***** x 100) >
       0 : 정수 0
       "" : 빈 문자열
       [] : 빈 리스트
       {} : 빈 딕셔너리
       None : None, Null

# 조건식 : 모든 데이터
if 10:                      # 0이 아닌 정수형 = 참
    print("10 존재")        # 10 존재
else:
    print("10 존재 안 함")
# 질문: 다음 리스트에 값이 존재하는지 여부 확인 조건문 작성

if x:   # x=[] = 빈 리스트 = False
    print("해당 리스트에는 데이터가 있습니다.")
else:
    print("해당 리스트는 빈 리스트입니다.")	# "해당 리스트는 빈 리스트입니다."
print("="*50)

 


다중 if문 (elif문)    :    조건식이 여러 개인 경우 사용.

"""
# 3. 다중 if문 ===> 조건식이 여러 개인 경우

    문법 (syntax) :
     a 문장            # elif문
        if 조건식:     # if문이 참이면 실행
            문장
        elif 조건식:   # if문이 거짓이면 elif 조건문 접근 후 elif 참이면 실행 ( == else if )
            문장
        else:         # 모든 if, elif문 거짓일 때 실행
            문장
        
     b 문장           #개별 if 조건문이 모여있을 뿐, 서로 관계 없음
        if 조건식:     
            문장
        if 조건식:
            문장                      
"""
# 3. 다중 if문
num = int(input(("점수 입력:")))    # 75

if num > 90:    # 75 > 90 -> False, skip
    print("A")
elif num > 80:  # 75 > 80 -> False, skip
    print("B")
elif num > 70:  # 75 > 70 -> True
    print("C")  # C
else:
    print("F")
print("End")    # End

 


3항 연산자 : if ~ else 문의 다른 표현 방법으로, 1줄로 표현 가능하다.
(이후 람다 함수에서 필수 사용하게 되며, 자주 사용된다.)

"""
        if 조건식:
            a문장 (True일 때 동작)
        else:
            b문장 (False일 때 동작)
            
    3항 연산자 문법   (*****, 자주 쓰임)
        변수 = true 실행문 if 조건식 else false 실행문
        
"""
n = 10
result = 100 if n == 10 else 200    # n이 10이면 100, 아니면 200을 반환하라.
print(result)       # 100

조건문은 자주 사용되는 문장이고 3항 연산자는 이후 람다 함수에서 필수적으로 사용해야하니 잘 기억해야합니다.

그럼 이만~

반응형

댓글