본문 바로가기

파이썬/파이썬 기초문법

if 조건문 (for문 에서의 if문)

728x90
반응형

# 조건문

앞에서 배운 booleans의 사용방법은 많습니다. 하지만 지금 나오는 if, elif, else 를 같이 사용한다면 더욱 완벽한 사용이 가능 합니다.

- if-then 이라고 하는 조건문은 아래와 같은 방식으로 작성가능하며 각 조건에 부합하는 코드들을 실행 시킬 수 있습니다.

def inspect(x):
    # 0보다 같거나
    if x == 0:
        print(x, "는 zero 이다")
    # 0보다 크거나
    elif x > 0:
        print(x, "는 양수 이다")
    # 0보다 작거나
    elif x < 0:
        print(x, "는 음수 이다")
    else:
        print(x, "0보다 같지도, 작지도, 크지도 않으면? 모르겠습니다.")

inspect(3)
inspect(-15)

- 파이썬은 다른 언어와 마찬가지로 조건문에 if, else를 사용합니다. 하지만 else if 대신 elif라는 키워드를 사용하는데 이것은 else if의 축약어 이며, 조건문 내에서는 else와 elif는 동일한 기능을 수행하며 무엇을 사용할 지는 사용자가 선택을 하면 된다.

- 조건문 사용시 주의 사항 : 조건과 실행 문장에 대해서는 :를 사용하여 구분, 실행 문장에 대해서는 (4 spaces)를 사용

- 만약 들여쓰기를 하지 않으면 그 문장은 아래와 같이 조건문의 조건이 끝날때까지 해당 조건에 종송된다.

def f(x):
    # 파라미터 x 값이 0보다 큰 경우, 아래 코드를 실행하세요.
    if x > 0:
        print("x가 양수인 경우만 출력됩니다.; x = ", x)
        
    # 들여쓰기를 하지 않았기 때문에, 위 조건문에 영향을 받지 않습니다.
    print("x값에 상관없이 출력됩니다.; x =", x)

f(1)
f(0)

# for문 에서의 if문 활용

- for문 + if문

- if condition에 해당하는 값만 출력하기

v = list(range(10,20))
print(v)

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

- 기존

for i in v:
    if i==12:
        print(i)

- 한 줄로

[i for i in v if i==12]

- for문에 해당하는 각각의 원소가 if condition에 해당하는지, 아닌지

- 기존

for i in v:
    if i==12:
        print(i)
    else :
        print("No")

- 한 줄로

[i if i==12 else "No" for i in v ]

['No', 'No', 12, 'No', 'No', 'No', 'No', 'No', 'No', 'No']

728x90
반응형

'파이썬 > 파이썬 기초문법' 카테고리의 다른 글

try catch, for, elif  (0) 2023.08.04
파이썬 기초  (1) 2021.08.12