정보보안공부

python_day05_집합, 논리와 논리식 본문

Language/python

python_day05_집합, 논리와 논리식

Steady_sp 2017. 1. 13. 14:55

집합

 

--> set을 이용해 list나 문자열을 집합으로 만들 수 있다.

--> set을 이용하면 중복이 불가능하고 순서가 없는 특징이있다. 따라서 리스트나 튜플에서 중복을 제거하기 위한 역할로 사용되어진다.

 

 

--> 집합을 리스트나 튜플로 변환하면 인덱싱이 가능하다.

 

 

--> set을 이용해 집합을 만들 수 있다.

--> intersection과 & 의 의미는 교집합을 의미한다.

--> union과 | 의 의미는 합집합을 의미한다.

 

 

--> difference와 x - y 또는 y - x의 의미는 차집합을 의미한다.

 

 

--> add를 이용해 하나의 값만 추가할 수 있다.

--> updata는 여러개의 값을 한번에 추가 할 수 있다.

--> remove는 해당값을 삭제 할 수 있다.

 

논리와 논리식

 

1. 명제

- 참과 거짓으로 구별 가능한 문장

 

예)

- 철수는 6살 이상이다. (o)

- 이 세상은 아름답다. (x)

- 나는 사람인 동시에 사람이 아니기도 하다. (x)

 

2. 논리

- 명제들을 이용해서 참과 거짓을 판별하는 과정

예)

- 놀이공원에 입장료는 10000원이다.

   6살 이하의 어린이는 6000원이다.

 

   철수는 6살이다.

 

3. 논리의 조건

- 논리는 포괄적이어야 하고 베타적 이어야 한다.

 

*** 포괄적

- 빠짐없이, 모두 포함

 

예)

- 놀이공원에 입장료는 10000원이다

  6살 보다 많은 어린이는 8000원이다.

  6살 미만의 어린이는 6000원이다. -> 6살이 빠져있다. 포괄적(x)

 

*** 베타적

- 동시에 두가지 일이 발생할 수 없음을 나타낸다.

- 중복

예)

6살 이상의 어린이는 8000원이다.

6살 이하의 어린이는 6000원이다.

 

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

 

대수적 성질 : A and B = B and A -> 교환법칙

 A( B or C ) = ( A and B ) or ( A and C ) -> 분배법칙

 A and ( B and C ) = ( A and B ) and C -> 결합법칙

 

예)

-----놀이공원의 입장료는 다음과 같다.-----

 

6살 이상의 어린이는 7000원이다.

6살 미만의 어린이는 5000원이다.

 

철수는 6살이다.




 

6살 이상 10살 미만의 어린이는 7000원이다.
6살 미만의 어린이는 5000원이다.

 

철수는 6살이다.


 


 

20살 이상의 성인은 10000원이다.
6살 이상의 어린이는 7000원이다.
6살 미만의 어린이는 5000원이다.

철수는 6살이다.

 


age = int(input())

25살일때
if age >= 20 : -> 위에서부터 순서주의
    print("내야할 금액은 10000원이다")
elif age >= 6 :
    print("내야할 금액은 7000원이다")
elif age < 6 :
    print("내야할 금액은 5000원이다")
else :
    print("알 수 없는 나이 입니다.")

 

명제에 사용할 수 있는 식

- 참과 거짓으로 결과를 돌려준다.

 

1. 비교식

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

== ( 같다 ), != ( 같지않다 )

 

*문자와 문자와의 비교 -> 아스키 코드로


2. 논리식

- and ( 그리고 ), or ( 또는 ), not ( 아닌 )

 

부울대수

 

>>> not ( age > 6 and age < 10 )
True
>>> not age > 6 or not age < 10
True

if age >= 6 and age < 10 :
    print("내야할 금액은 7000원이다")
      print("내야할 금액은 7000원이다")  -> x

else :
    print("내야할 금액은 5000원이다")

-> print 앞에 띄어쓰기를 같게해야한다.

 

( 문제 )

시험성적을 입력해 점수 별로 A B C D F로 나눈다.



'Language > python' 카테고리의 다른 글

python_day07_if문,while문  (0) 2017.01.17
python_day06_input함수 이용하기  (0) 2017.01.16
python_day04_리스트,튜플,딕셔너리  (0) 2017.01.13
python_변수,사용자 입력과출력  (0) 2017.01.13
python_문자열  (0) 2017.01.13
Comments