본문 바로가기

프로그래밍 언어/Python

[Python 제어문] 조건문 if elif else



[Python 제어문] 조건문 if elif else


조건문 if

조건문 if를 사용하여 조건에 따라 프로그램의 실행제어를 할 수 있다. 

if, elif, else 다음에 :(콜론)이 오는 것을 유의한다.

1
2
3
4
5
6
7
8
9
= 100
= 100
 
if a>b:
    print 'a가 b보다 크다.'
elif a<b:
    print 'a가 b보다 작다.'
else:
    print 'a와 b가 같다.'
cs

1
a와 b가 같다.
cs

주의할 점은, if, elif, else에 속하는 모든 문장은 들여쓰기를 해 주어야 한다는 점이다. 보통 들여쓰기는 TAB 한 번 또는 스페이스 4칸으로 사용하는데, 탭은 환경에 따라 공백 수가 다를 수 있어서 스페이스로 사용하는 추세다.

조건문 사용

조건문은 참과 거짓으로 판단되는 문장이다.

- 자료형

    True : False에 해당하지 않는 모든 값

    False : 0, ""(빈 문자열), [](빈 리스트), ()(빈 튜플), {}(빈 딕셔너리), set()(공집합)


- 비교연산자

x < y (y가 x보다 크다)          x > y (x가 y보다 크다)          x <= y (y가 x보다 크거나 같다)

x >= y (x가 y보다 크거나 같다) x == y (x와 y가 같다)          x != y (x와 y가 같지 않다)


- and, or, not

1
2
3
4
5
6
7
8
9
10
= 0
 
if a > -and a < 10:
    print 'and 조건 만족'
 
if a > 10 or a == 0:
    print 'or 조건 만족'
 
if not a:
    print 'not 조건 만족'
cs

1
2
3
and 조건 만족
or 조건 만족
not 조건 만족
cs


- in, not in

1
2
3
4
5
6
lst = [200300400]
 
if 100 in lst:
    print '100이 리스트 안에 존재합니다.'
elif 100 not in lst:
    print '100이 리스트 안에 존재하지 않습니다.'
cs

1
100이 리스트 안에 존재하지 않습니다.
cs


pass, continue문의 차이

pass는 단순히 아무 것도 하지 않는 것이다. continue와 비슷하다고 생각할 수도 있는데 둘은 다르다. continue는 뒤에 작업을 건너뛰고 반복문의 다음 차례로 넘어간다.

1
2
3
4
5
6
7
8
9
10
11
for i in [1,2,3]:
    if i:
        print 'pass문 %d번째' % i
        pass
    print 'pass'
 
for i in [1,2,3]:
    if i:
        print 'continue문 %d번째' % i
        continue
    print 'continue'
cs

1
2
3
4
5
6
7
8
9
10
pass문 1번째
pass
pass문 2번째
pass
pass문 3번째
pass
 
continue문 1번째
continue문 2번째
continue문 3번째
cs

pass는 단순히 실행할 코드가 없다는 것을 나타내는 명시적인 역할을 하고, continue는 다음 반복루프로 넘어가게 하는 역할을 한다.