본문 바로가기
프로그래밍/PYTHON

[5일차] python 논리와 논리 표현식 / 분기문 if

by B T Y 2017. 2. 14.
반응형

python 논리와 논리 표현식 / 분기문 if에 대해서 정리한다

 

그전에 전에 공부 했던 내용중에서 input() 함수에 대해서 잠깐 정리한다

 

 

 

 

※ input()

 

- 한 줄을 문자열 형태로 읽어들이고 문자열 형태로 반환 해준다

( 문자열이므로 문자열 관련 특정 함수 이용 또한 가능하다 )

 

 

 

 

( 위와 같이 split() 함수는 특정 문자열 함수인데

input() 함수는 문자열을 반환 해주므로 사용이 가능하다 )

 

* input().split()처럼 바로 사용도 가능하다

 

 

 


 

 

 

※ 논리와 논리 표현식

 

 

 

- 명제 : 참과 거짓 둘중에 하나로만 표현 가능한 문장

 

 

- 명제의 조건

 

1. 모든 내용을 빠짐없이 전부 포함해야 한다

 

2. 상호 베타적이어야 한다

* 중복이 없어야 한다

* 참, 거짓이 동시에 발생하거나 발생하지 않는 상황이 되면 안된다

 

예). 놀이공원의 입장료

 

1). 6세 미만의 입장료는 6000원이다

2). 6세에서 15세까지는 10000원이다

3). 16세 이상의 입장료는 15000원이다

 

철수는 6살이다

 

( 예시에 있는 명제들은 위에서 말한 1, 2번의 명제 조건을 둘다 만족하고 있다 )

 

 

 

 

 

( 위의 명제들의 내용을 코드로 표현해 보면 다음과 같이 나온다 )

 

* 위에 코드에서는 마지막에 else:를 사용했지만 정확하게 표현 하려면 elif:를 통해서도 표현이 가능하다

 

 

 

( 파일을 실행 했을때 철수의 나이는 6살이므로 다음과 같이 결과가 정상적으로 나온다 )

 

 

 

 


 

 

 

※ 비교 연산자

 

 

>(크다), <(작다), ==(같다),

>=(크거나 같다), <=(작거나 같다),

!=(같지 않다)

 

 

 


 

 

 

※ 논리 연산자

 

 

 

AND(그리고), OR(또는), NOT(아닌)

 

( 1800년대 조지 불이 말로 표현되는 논리들을 공식으로 표현하기 위해 만들었다 )

 

 

A = 나는 사람이다

B = 사람은 죽는다

C = 고로 나는 죽는다

 

 

위와 같은 삼단논법을 논리 연산자로 표현한 공식으로 정리해서 이해해본다

 

 

* True(참): T, False(거짓): F

 

A and B = C

T       T     T

T       F     F

F       T     F

F       F     F

 

 

A or B = C

T     T    T

T     F    T

F     T    T

F     F    F

 

 

not True = False

not False = True

 

 

드모르간 법칙를 통해서 not A or not B = not( A and B ) 로 표현이 가능하다

 

이러한 논리적 사고를 필요로 하기 때문에 평소에 수학 공부(증명 같은)를 해두면 도움이 된다

 

 

 

 

( 위에서 확인할수 있는점은 True == "True"가 성립되지 않는다는점이다.

그 이유는 True, False는 문자가 아닌 문자 상수열이기 때문이다 )

 

 

 


 

※ 분기문 ( if )

 

- if 표현식 뒤에는 ' : '를 붙여준다

- 들여쓰기를 통해서 영역을 구분한다 ( 들여쓰기를 신경써서 맞춰줘야한다 )

- if문 사용시 연속된 추가 조건을 달아주려면 'elif 표현식:' 을 사용한다

- else: 는 같은 분기문 내에서 위에 있는 조건문들이 모두 참이 아닐때 동작한다

( else:는 생략 가능하다 )

 

 

 

 

 

반응형

댓글