파이썬/파이썬 입문 공부일지

파이썬 공부일지 10. 불 자료형과 if 조건문!

Tomitom 2022. 10. 12. 10:30
반응형

오늘도 새로운 공부를 시작합니다. 

조건문의 시작! 파이팅합시다~ 

 

 

1. 불 자료형 

 

참과 거짓의 값을 표현하는 연산자를 불boolean 이라고 합니다.

불은 오직 True 와 False 값만을 가집니다.

파이썬에서 True와 False 의 첫 글자는 반드시 대문자로 기재해야 합니다. 

만약 소문자로 기재하게 된다면 예외(에러)가 발생합니다. 

True 를 의미하는 것이 맞는지 물어보네요. 네 맞아용...

 

 불은 비교 연산자를 통해 만들 수 있습니다. 

== 같다 > 크다
!= 다르다 <= 작거나 같다
< 작다 >= 크거나 같다

비교 연산자를 사용하면 결과를 보여주는 것이 아니라 불 데이터가 만들어지는 것이므로

False 라는 값으로 불 데이터가 반환이 됩니다. (= 치환이 됩니다.)

즉 print 로 해당 값을 출력하면 False 값으로 출력되는 거예요. 

 

 

파이썬은 문자열에도 비교 연산자를 사용할 수 있어요.

단, 문자의 경우에는 사전의 순서대로 앞에 있는 것이 작은 값을 가집니다. 

 

ㅅ이 ㅍ보다 우선해서 사과가 더 작은 값이 되어요.

 

컴퓨터 프로그래밍의 비교에는 명확하게 답이 나오는 비교만 할 수 있는데, 비교 연산에는 두 가지가 있습니다. 

- 등가비교 = 같은지 다른지를 비교하는 것을 등가비교 라고 합니다. 

- 대소비교 = 작은지 큰지를 비교하는 것을 대소비교 라고 합니다. 

 

 

 

 

 불끼리는 논리 연산을 할 수 있습니다. 

 

논리 연산자는 불 데이터를 사용합니다. 

not 아니다 불을 반대로 전환합니다.
and  그리고 피연산자 두 개가 모두 참일 때 True를 출력하며, 그 외에는 모두 False 를 출력합니다. 
or 또는 피연산자 두 개 중에 하나만 참이라도 True를 출력하며, 두 개가 모두 거짓일 때만 False를 출력합니다.

 

not 은 결과 값을 반대로 전환합니다. 

 

이게 다예용..

and 는 두 항이 모두 True 일 때만 True 가 나옵니다. (두 개 다 참이어야 참이 되는 and.) 

or 는 두 항이 False 일 때만 False 가 나옵니다. (하나만 참이어도 참이 되는 or)

 

예를 들어 티켓을 1장 구하면서 오후 3시 이후라는 조건문을 쓸 때

>>> ticket = 2   (티켓은 2장) 

>>> ticket <= 1  (1장 이하일 경우) 

False   ( ticket <= 1 이라는 코드를 False 로 치환하여 사용할 수 있어요.)

 

>>> now = 2  (시간은 2시)

>>>now >= 3 (오후 3시 이후)

False

 

>>> ticket <= 1 and now >= 3

Flase

 

※ 비교 연산이 논리 연산보다 연산 우선순위가 큽니다. 

(논리연산과 비교연산이 섞여 있다면 비교 연산이 먼저 실행되고 논리연산이 실행돼요.)

 

불 조건문은 if 조건문과 함께 사용되는 경우가 많습니다. 

 

 

 

2. if 조건문

 

if 조건문은 다른 말로 선택제어문 이라고도 부릅니다. 

조건을 기반으로 코드 실행의 흐름을 변화 시키는데, 이것을 조건분기라고 합니다. 

 

if 조건문의 기본 구조입니다. 

if  불 값이 나오는 표현식 :    -> if의 조건문 뒤에는 반드시 콜론(:)을 붙여야 합니다. 

    불 값이 참일 때 실행할 문장 -> if 문 다음 문장은 반드시 4칸 들여쓰기 후 입력합니다. (입력하지 않으면 오류가 발생해요.)

 

 

hasWoori = False

if hasWoori : 

    print("우리카드 보유자")        -> 불 값이 부정이므로 실행되지 않습니다.    

    print("우리카드 보유했다구요!")

 

불 값이 거짓이라면 아무것도 실행되지 않습니다.

조건문의 양은 얼마든지 늘릴 수 있습니다. (ex 우리카드 보유, 보유했다니까, 보유했다구요 등등 출력 가능) 

 

그럼 30세 이상의 경우 '수급 대상자입니다' 를 출력하도록 해볼게요. 

조건문의 값이 참일 때

 

50세를 입력하니 수급대상자 라는 확인 문구가 뜹니다. 

그럼 29세를 입력해볼게요. 

 

 

조건문의 값이 거짓일 때

 

조건문의 값이 거짓이므로 print 의 값이 출력되지 않습니다!

 

인터렉티브 셸에서 if 조건문을 입력하고 엔터를 눌렀을 때 다음 줄의 프롬프트 위치에 ... <- 이 나타나는데요 

이건 코드 입력이 끝나지 않았다는 표시니까 이 위치로부터 4칸 들여쓰기 한 이후에 실행 문장을 입력하면 됩니다. 

if 조건문은 실행문장을 작성하고 엔터를 두 번 치면 조건문 작성이 끝나고 결과 값이 나옵니다. 

 

 

반응형