Programming Language/Python

[Python] 10. if 문(if statements)

lumana 2023. 11. 5. 04:03

if 문 (if statements)


if문의 기본구조

if 조건문:
    수행할 문장 1
    수행할 문장 2

else:
    수행할 문장 A
    수행할 문장 B
  • 들여쓰기를 할 때 공백 4개, 탭 중 하나만 선택해서 사용하자.(혼용할 시 에러 발생)

  • 조건문 다음에 반드시 콜론을 붙히자.

조건문

: 어떤 조건이 주어질 때 True(참) 인지 False(거짓) 인지 판단하는 문장

  • 비교 연산자

    • bool 값을 반환한다 (C와 동일)
  • and, or, not

    • x or y # x와 y 둘 중 하나만 참이여도 참

    • x and y # x와 y 둘다 참이어야 참

    • not x # x가 거짓이면 참

  • x in s, x not in s

    • s 객체가 x 객체를 포함하고 있는지 판단
    1 in [1, 2, 3]
    res : true
    
    'j' not in 'python'
    res : true
    
    pocket = ['card', 'money', 'phone']
    if 'card' not in pocket:
        print("걸어가세요")
    else:
        print("버스를 타세요")
  • 조건문에서 아무 일도 하지 않게 하려면?

    • 수행할 문장 대신에 pass를 사용한다.
  • elif(c의 else if)

    • 여러 조건을 판별할 때 사용
    if 조건문:
        수행문장 1-1
        수행문장 1-2
    elif 조건문:
        수행문장 2-1
        수행문장 2-2
    elif 조건문:
        수행문장 3-1
        수행문장 3-2
    else:
        수행문장 4-1
        수행문장 4-2
  • if문 한줄로 작성하기

    if 'money' in pocket: pass
    else: print("카드를 꺼내라")

조건부 표현식

  • If문을 조건부 표현식을 통해 대신 표현할 수 있다.

    if score >= 60:
        message = "success"
    else:
        message = "failure"

    위 코드를 조건부 표현식을 이용하여

    message = "success" if score >= 60 else "failure"

    위와 같이 표현 가능하다

  • Ternary Operator(삼항 연산자)와 사실상 동일한 개념이다.

예시) 조건부 표현식을 이용한 팩토리얼 구현

n = 5
result = 1 # initial value
if (n < 0):
    pass
elif (n == 0):
    pass
else:
    while n > 0: # 5, 4, 3, 2, 1, 0(False)
        result = result * n
        n = n - 1

참조) Do it! 점프 투 파이썬 (박응용 지음)