ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 문법 기초 9 - if 문
    Python 2022. 10. 22. 15:20

     

    # 조건 판단문 if
    # if 조건 : 실행문 elif() 조건 ~ else : ~
    
    var = 10
    
    if var >= 3: # java : {}, py : 들여 쓰기
        # print('크구나')
        # print('참일 때')
        pass
    else:
        print('거짓일 때')
        
    print('end1')
    
    
    <console>
    end1

    자바에서는 if(var ≥ 3){} 로 시작하지만 파이썬에서는 위와 같다.

    if문은 따로 실행을 하지 않아도 알아서 실행이 된다.

    if 문 안에서는 무조건 들여쓰기를 사용해야 된다. 사용하지 않으면 에러 발생

    조건이 거짓일때는 수행하지 않는다.

    else 문으로 조건이 거짓일때도 수행 가능하다.

    pass 를 부여하는 것으로 참일때는 아무것도 실행하지 않고 넘긴다는 의미이다.

     

    money = 1000
    age = 23
    
    if money >= 500:
        item = '사과'
        if age <= 30:
            msg = '청춘이다'
        else:
            msg = '올드하다.'
    else:
        item = '포도'
        if age >= 30:
            msg = '성인이다'
        else:
            msg = '애다.'
    
    print(item, msg)
    
    
    <console>
    사과 청춘이다

    if else 문으로 이렇게 표현 가능하다.

     

    jumsu = 85
    
    if jumsu >= 90:
        print('우수')
    else:
        if jumsu >= 70:
            print('보통')
        else:
            print('저조')
    
    if jumsu >= 90:
        print('우수')
    elif jumsu >= 70:
        print('보통')
    else:
        print('저조')
    
    
    <console>
    보통
    보통

    elif(조건)를 사용하지 않은 코드와 사용한 코드이다.

     

    # jum = int(input('점수 입력:'))
    jum = 80
    print(jum, type(jum)) # 외부에서 값을 받을 때는 무조건 str 타입이다.
    # if jum >= 90 and jum <= 100:
    if 90 <= jum <= 100: # 파이썬에서는 이렇게 사용 가능
        grade = '우수함'
    elif 70 <= jum < 90:
        grade = '보통임'
    else:
        grade = '저조함'
        
    print(grade)
    
    names = ['홍길동', '신기해', '이기자']
    # if '홍길동' not in names:
    if '홍길동' in names:
        print('친구 이름')
    else:
        print('누구니?')
    
    
    <console>
    10
    55
    80 <class 'int'>
    보통임
    
    친구 이름

    jum = int(input('점수 입력:')) 이렇게 입력하면 따로 실행시키지 않아도 바로 console 창에서 입력 가능하다. 콘솔창에 점수를 입력하면 위의 if 문으로 등급을 나눌 수 있다.

    in names를 사용하여 ‘홍길동’이라는 문자열이 들어있으면 친구 이름을, 없으면 누구니? 를 호출할 수 있다. not in names 를 사용할 수도 있다.

     

    a = 'kbs'
    b = 9 if a == 'kbs' else 11
    print(b)
    
    a = 11
    b = 'mbc' if a == 9 else 'kbs'
    print(b)
    
    
    <console>
    9
    kbs

    람다 함수를 사용하여 간단하게 사용 가능하다. 참이면 왼쪽의 값을, 불이면 오른쪽의 값을 가져온다.

     

    a = 3
    if a < 5:
        print(0)
    elif a < 10:
        print(1)
    else:
        print(2)
    
    print(0 if a < 5 else 1 if a < 10 else 2)
    
    print(a * 2 if a > 5 else a + 2)
    
    print((a + 2, a * 2)[a > 5])
    
    
    <console>
    0
    0
    5
    5

    위의 if 문도 밑에처럼 한줄로 작성 가능하다. 그러나 위의 다중 if 문은 한줄 요약은 잘 안 한다.

    조건이 참일때는 왼쪽의 코드를 실행하고 거짓일 때는 오른쪽을 실행한다.

    13번째 줄은 tuple 방식으로 조건이 대관호 안에 들어있고 참이면 오른쪽, 거짓이면 왼쪽이다.

     

    댓글

Designed by Tistory.