5장. 조건에 따른 문제 해결 조건문 5.1. Boolean 형
Boolean형
5.1. Boolean 형
▪ Boolean형은 True와 False 값을 가짐
• ‘참’과 ‘거짓’을 표현하는데 사용
True ‘참’을 의미
False ‘거짓’을 의미
>>> a = True
>>> type (a)
<class 'bool'>
>>> a True
>>> a = TRUE
Traceback (most recent call last):
File "<pyshell#1>", line 1, in
<module>
a = TRUE
NameError: name 'TRUE' is not defined
>>> a = False
>>> b = a
>>> type (b)
<class 'bool'>
>>> b False
비교 연산자
3
5.1. Boolean 형
▪ 비교 연산자
• 두 변수들의 값을 비교하기 위한 연산자
• 결과로 Boolean값을 제공
할당 연산자
5.1. Boolean 형
= 변수에 어떤 값을 할당하는데 사용하는 연산자
예)score=100
== 변수 x의 값과 변수 y의 값이 값은 지를 확인하는데 사용하는 연산자 예) score==100 ( True 또는 False를 반환 )
>>> n = 7 - 4
>>> n == 3 True
>>> n == 5 False
할당 연산자와 비교 연산자
5
5.1. Boolean 형
숫자를 입력 받아서 2의 배수인지의 여부를 flag에 할당해보자
>>> n = input(“Enter a number : ”) Enter a number : 10
>>> flag = int(n)%2
>>>flag == 0 True
[예제 5-1] 비교 연산자
5.1. Boolean 형
▪ “수학 성적이90점보다 높으면A학점.”
• math_score > 90
▪ “너의 키가 나의키보다 작으면, 자리를 바꾼다.”
• your_height < my_height
▪ “그 남자의 혈액형이B형만 아니면데이트한다.”
• blood_type != ‘B’
>>> math_score = 92
>>> math_score > 90 True
>>> math)score = 89
>>> math_score > 90
>>>
>>> your_height = 175
>>> my_height = 170
>>> your_height > my_height True
>>>
>>> blood_type = ‘A’
>>> blood_type != ‘B’
True
>>>
[실습 5-1] 백화점 상품권
7
5.1. Boolean 형
백화점에서 여러 물품을 구매하였다.
구매한 모든 물품의 총합이 10만원 이상이면. 상품권을 받을 수 있다.
1) 30,000원, 50,000원, 15,000원 25,000원까지 물품을 모두 구매하였다고 한다.
조건문을 사용하여 상품권을 받을 수 있는 지 여부를 보아야 한다.
물건의 총합이 10만원 이상이면 -> total_price > 100000
•문제 해결 알고리즘
[퀴즈 5-1]
5.1. Boolean 형
▪ 다음 문장에서 비교 연산자가 활용 될 만한 부분을 찾아보고 표현해보자.
>>>A의 영어 점수는 80점, 수학 점수는 65점이다.
>>>B의 영어 점수는 76점, 수학 점수는 58점이다.
>>>A의 평균 점수는 B의 평균 점수보다 높다.
논리 연산자
9
5.1. Boolean 형
▪ Boolean형 값들의 연산자
• 조건문이 하나 이상의 조건들을 포함하는 경우에 사용
▪ ‘그리고’ : AND
▪ ‘또는’ : OR
▪ ‘부정’ : NOT
Boolean식
5.1. Boolean 형
▪ Boolean 값 과 논리 연산자로 이루어진 식
▪ 결과로 Boolean형 반환 x and y
(x,y는 Bool Type 혹은
Booelan Expression)
x와 y가 모두 True인 경우 True를 반환하는 연산자
(x와 y 중 하나라도 False인 경우 False를 반환하는 연산자)
x or y (x,y는 Bool
Type 혹은 Booelan Expression)
x와 y 중 하나라도 True인 경우 True를 반환하는 연산자 (x와 y가 모두 False인 경우 False를 반환하는 연산자)
not x (x,y는 Bool
Type 혹은 Booelan Expression)
x가 True인 경우 False를 반환하고, x가 False인 경우 True를 반환하는 연산자
Boolean식
11
5.1. Boolean 형
▪ Boolean식의 결과는 집합의 진리표(Truth Table)와 같음
p q p and q p or q not p not q
False False False False True True
False True False True True False
True False False True False True
True True True True False False
[예제 5-2] Boolean식
5.1. Boolean 형
다음 조건에 따라 Boolean식을 작성하고 결과를 확인해보자.
변수 a = True이고 b = False이다.
> ‘a and b’의 결과를 확인한다.
> ‘a or b’의 결과를 확인한다.
> ‘not b’의 결과를 확인한다,
>>> a = True
>>> b = False
>>> a and b False
>>> a or b True
>>> not b True
[예제 5-3] 비교 연산자를 포함한 Boolean식
13
5.1. Boolean 형
a = 26, b = 31, c = 54 인 경우 1) (a > b) and (a < c)의 결과는?
>>> a = 26
>>> b = 31
>>> c = 54
>>> (a > b) and (a < c) False
[예제 5-4] Boolean식의 활용
5.1. Boolean 형
[예제 5-5] Boolean식의 활용
15
5.1. Boolean 형
[실습 5-2] 학사경고 시스템
5.1. Boolean 형
[퀴즈 5-2]
17
5.1. Boolean 형
▪ 다음 프로그램을 결과를 예상하여 보자.
>>> a = True
>>> b = False
>>> c = (a and b)
>>> d = (a or b)
>>> a and b
( )
>>> a or (c and d)
( )
>>> b and (a or c) and d
( )
5장. 조건에 따른 문제 해결 조건문
5.2. 조건문
If 조건문 (Condition Statement)
19
5.2. 조건문
괄호가 있으면 문장의 의미가 더 명확해 진다
[주의] 들여쓰기
5.2. 조건문
▪ if문 생성 시 if (조건) : 다음의 문장부터 if문에 해당하는 모든 문장들에 정렬된들여쓰기를 해야 함.
• 들여쓰기를 하지 않는 경우, 문법 오류 발생, 틀여쓰기는 Tab 입력
[퀴즈 5-3]
21
5.2. 조건문
▪ 사용자로부터 나이를 입력을 받아, 20살이상인 경우, ‘You are an adult'라는 문장을 출력해보자.
사용자의 나이 입력 = user_age
if 사용자의 나이 user_age >= 20 -> ‘You are an adult.' 출력
Tab 또는 space 중 하나를 이용해서 일관성 있는 들여쓰기를 해야한다
[예제 5-6] 할인율 적용하기
23
5.2. 조건문
[예제 5-6] 할인율 적용하기
5.2. 조건문
[예제 5-6] 할인율 적용하기
25
5.2. 조건문
If-else 조건문
5.2. 조건문
▪ if문 또는 elif문의 False 조건을 확인할 때 사용함 (단독으로 사용 불가능)
▪ if - else문의 header 구성 if 조건 :
True_statements else :
False_statements Next_statements
‘조건'이 True 이면 True_statements를 실행하고, False 이면 False_statements를 실행한 후 Next_statement로 이동한다.
if a > 20 :
변수 값
비교 연산자 (==, !=, >, >=, <, <=) 조건의 끝
else :
조건의 끝
조건
False_statements False
True
True_statements Next_statements
[참고] 들여쓰기
27
5.2. 조건문
▪ If-else문 생성 시 if (조건) : 다음과 else : 다음의 문장부터 모든 문장들에 정렬된 들여쓰기를 해야 함.
• 들여쓰기를 하지 않는 경우, 문법 오류 발생 if(조건):
True_statements1 True_statements2 else:
False_statements1 False_statements2
[예제 5-7] if-else 조건문 활용 1
5.2. 조건문
[예제 5-7] if-else 조건문 활용 1
29
5.2. 조건문
[예제 5-8] if-else 조건문 활용 2
5.2. 조건문
[예제 5-8] if-else 조건문 활용 2
31
5.2. 조건문
[실습 5-3] 저녁 메뉴 고르기
5.2. 조건문
[실습 5-3] 저녁 메뉴 고르기
33
5.2. 조건문
[실습 5-4] 백화점 할인율 적용하기
5.2. 조건문
[실습 5-4] 백화점 할인율 적용하기
35
5.2. 조건문
[실습 5-5] 놀이기구의 입장 제한
5.2. 조건문
[실습 5-5] 놀이기구의 입장 제한
37
5.2. 조건문