본문 바로가기

카테고리 없음

Day03. 조건문(if, elif, else)

1. 논리표

OR

 T

T

T

 T

F

T

 F

T

T

 F

F

F


AND

 T

T

 F

 F


우선순위

NOT>AND>OR



2. if의 조건이 bool이 아닌 경우

- 일반적으로 조건문에는 bool이 주로 위치함

- 하지만 정수, 실수, 문자열 리스트 등 기본 타입도 조건에 사용 가능

- False로 간주되는 값 (각 타입의 기본값) : None, 0, 0.0, "", [] 빈 리스트, () 빈 튜플, {} 빈 딕셔너리, set() 빈 집합

- 그 밖에는 모두 True로 간주

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if 3:
    print "True"
 
= [1234]
if a:
    print "True"
 
if 'python':
    print "True"
 
### 문자열의 기본값이기 때문에 False
if '':
    print "True"
else:
    print "False"
 
<<<<<실행결과>>>>>
True
True
True
False
cs



3. if와 else 사이에 다른 코드 삽입 불가

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
= [1]
 
if a:
    print 'not empty'
else:
    print 'empty'
 
if a:
    print 'not empty'
print 'another code'
else:
    print 'empty'
 
<<<<<실행결과>>>>>
not empty
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
= [1]
 
if a:
    print 'not empty'
print 'another code'
else:
    print 'empty'
 
<<<<<실행결과>>>>>
  File "<ipython-input-4-c42bb951a43c>", line 4
    else:
       ^
SyntaxError: invalid syntax
 
cs


###elif가 있으면 한개만 조건에 맞으면 실행된다

1
2
3
4
5
6
7
8
9
10
11
12
= 10
if a % 2###디폴트 값이면 False
    print 'a is an odd number'
else:
    print 'a is an even number'
 
<<<<<실행결과>>>>>
  File "<ipython-input-4-c42bb951a43c>", line 4
    else:
       ^
is an even number
 
cs


### if만 있으면 선행문이 True여도 계속 아래로 내려가서 검사한다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
= 30
 
if a % 3 == 0:
    print 'divisible by 3'
if a % 3 == 0:
    print 'remainder by 3'
if a % 3 == 2:
    print 'remainder by 3'
print 'result'
 
<<<<<실행결과>>>>>
divisible by 3
remainder by 3
result
cs


### 파이썬에서는 수학 부등식 표현이 가능함

1
2
3
4
5
6
7
8
9
10
11
12
= 7
if x > 5 and x < 10:
    print "Hello Python"
 
= 10
if 5 < x < 11:
    print 'Hello Python'
 
<<<<<실행결과>>>>>
Hello Python
Hello Python
 
cs






반응형