티스토리 뷰

카테고리 없음

[Python] 조건문 - if 문

ellie.strong 2020. 10. 21. 21:53
728x90

if 문

if ~ elif ~ else 와 같이 사용하며, elif 혹은 else 부분은 경우에 따라서 사용하지 않아도 된다. 

score = 85

if score >= 90:
    print("A")
elif score >= 80:
    print("B")
    print("분발하세요.")
elif score >= 70:
    print("C")
else:
    print("F")
# B
# 분발하세요.

조건문을 작성할 때는 코드의 블록(Block)을 들여쓰기로 설정한다. 들여쓰기가 같은 부분은 함께 실행된다. 

 

조건문의 특성

pass 문

파이썬에서는 조건문의 값이 참(True)이라고 해도, 아무것도 처리하고 싶지 않을 때 pass 문을 이용할 수 있다. 

if score >= 80:
    pass # 나중에 작성할 코드
else:
    print('성적이 80점 미만입니다.')

→ 디버깅하는 과정에서 일단 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분은 비워놓고 싶은 경우 유용하게 사용할 수 있다. 

 

줄바꿈 생략

조건문에서 실행될 소스코드가 한 줄인 경우, 굳이 줄 바꿈을 하지 않고도 간략하게 표현할 수 있다. 

if score >= 80: result = "Success"
else: result = "Fail"

조건부 표현식 (Conditional Expression)

조건부 표현식을 이용하면 if ~ else 문을 한줄에 작성할 수 있다. 

result = "Success" if score >= 80 else "Fail"

 

코딩 테스트>> 조건부 표현식은 리스트에 있는 원소의 값을 변경해서, 또 다른 리스트를 만들고자 할 때 매우 간결하게 사용할 수 있다. 

예) 리스트에서 특정한 원소의 값만을 없애는 경우

< 일반적인 형태 >

a = [1, 2, 3, 4, 5, 5, 5]
remove_set = {3, 5}

result = []
for i in a:
    if i not in remove_set:
        result.append(i)
        
print(result) # [1, 2, 4]

< 조건부 표현식 사용 시 >

a = [1, 2, 3, 4, 5, 5, 5]
remove_set = {3, 5}

result = [i for i in a if i not in remove_set]

print(result) # [1, 2, 4]

 

조건문에서 많이 사용되는 연산자

비교 연산자

X == Y : X와 Y가 서로 같을 때 True

X != Y  : X와 Y가 서로 다를 때 True

X > Y   : X가 Y보다 클 때 True

X < Y

X >= Y

X <= Y

 

파이썬은 조건문 안에서 수학의 부등식을 그대로 사용할 수 있다. "x > 0 and x < 20"과 "0 < x < 20"은 같은 결과를 반환한다. 

 

논리 연산자

X and Y : X와 Y가 모두 True 일 때 True

X or Y   : X와 Y 중에 하나만 True여도 True

not X    : X가 False일 때 True

 

in 연사자와 not in 연산자

X in 리스트       : 리스트 안에 X가 들어가 있을 때 True

X not in 리스트 : 리스트 안에 X가 들어가 있지 않을 때 True

리스트 뿐만 아니라 튜플, 문자열, 사전과 같은 자료형에도 사용 가능하다. 

 

 

 

 

 

728x90
댓글
공지사항
최근에 올라온 글