[7-1. 참과 거짓을 의미하는 값(데이터)]

- True : 참을 뜻함, 질문 내용이 맞는 경우의 대답이 되기도 한다.

- False : 거짓을 의미함, 질문 내용이 맞지 않는 경우의 대답이 되기도 한다. 

 

- 3 > 10 : 3이 10보다 큰가?

- 3 < 10 : 3이 10보다 작은가?

 

- 파이썬은 True, False를 값으로 취급함 

 

int형 데이터 3, 5, 7, 9
float형 데이터 2.2, 4.4, 6.6, 8.8
리스트형 데이터 [3, 5, 7, 9], [2.2, 4.4, 6.6, 8.8]
스트링형 데이터 "I'm a boy", "You are a girl"
부울형 데이터 True, False

 

 

[7-2. 소스파일에 main 함수 만들기]

- 연산자의 기능이나 함수 호출의 결과 정도는 프롬프트상에서 확인하는 것이 편함

- 그러나 코드가 길어지면 이것이 불편하기 때문에, 코드를 채워 넣는 방식으로 학습

- 위의 코드를 소스파일에 담아서 실행하면 main함수가 먼저 정의되고, 이어서 main함수의 호출이 진행됨

 

 

[7-3. if문 : 조건이 맞으면 실행을 해라.]

- 특정 조건이 True인 경우에만 실행함

 

If <조건> :
    <if에 속하는 문장 1>
    <if에 속하는 문장 2>
    . . . .

 

 

- 화살표는 실행의 흐름을 의미함

- 동그란 조건 : 흐름의 분기(나뉨), 즉 조건이 True이면 사각형 안에 있는 if의 문자들이 실행되고, 조건이 False면 이를 건너뛰게 됨

 

 

 

[7-4. if ~ else문 : 이쪽 길! 아니면 저쪽 길!]

 - if ~ else문은 <조건>True가 오는 경우에 실행할 코드와 False가 오는 경우에 실행할 코드를 구분해야 할 때 사용하는 문장

if <조건> :
    <True시 실행할 문장들>
else :
    <False시 실행할 문장들>
 

 

 

[7-5. if ~ elif ~ else문 : 여러 길 중에서 하나의 길만 선택!]

 - if ~ else: 조건에 따라 둘 중 하나를 선택해서 실행하는 경우

 - if ~ elif ~ else: 조건에 따라 셋 또는 그 이상 중에서 하나를 선택하여 실행하는 경우

if <조건 1> :
    <조건 1True인 경우 실행할 문장들>
elif <조건 2> :
    <조건 2True인 경우 실행할 문장들>
else:
    <모든 조건 False인 경우 실행할 문장들>
 

 

 

[7-6. True 또는 False를 반환하는 연산들]

 

1) True, False 연산

A > Z : AZ보다 크면 True, 크지 않으면 False 반환
A < Z : AZ보다 작으면 True, 작지 않으면 False 반환
A >= Z : AZ보다 크거나 같으면 True, 그렇지 않으면 False 반환
A <= Z : AZ보다 작거나 같으면 True, 그렇지 않으면 False 반환
A == Z : AZ가 같으면 True, 같지 않으면 False 반환
A != Z : AZ가 같지 않으면 True, 같으면 False 반환

 

2) and 연산

A and Z : AZ가 모두 True이면 True, 그렇지 않으면 False 반환
A or Z : AZ 둘 중 하나라도 True이면 True, 그렇지 않으면 False 반환
not A : ATrue이면 False, A False이면 True 반환

 

- True, False : , and : 연산자

- True and True : 모두 True를 만족하므로 결과값은 True

 

- True, False : , or : 연산자  

- True or False : 둘 중 하나가 True이므로 True (왼쪽에 오든 오른쪽에 오든 상관 없음)

- False or False : 어느 쪽도 True가 없으므로 False

 

- True, False : , not : 연산자

- True가 아니므로 False, False가 아니므로 True

 

3) and 연산 결과 정리 

P1 P1 P1 and p2
True True True
True False False
False True False
False False False

 

4) or 연산 결과 정리 

P1 P1 P1 and p2
True True True
True False True
False True True
False False False

 

5) not 연산 결과 정리

P Not p
True True
False False

- 이러한 연사자를 사용하는 방법 : TrueFalse를 반환하는 연산으로 가져다 놓기

 

 <연습문제 07-1>

▶ 문제 1. 프로그램 사용자로부터 정수를 하나 입력받아서, 그 값에 대해 다음 중 한가지 답변을 하도록 코드를 만들어보자.

   입력한 값은 0이거나 0보다 큽니다.

   입력한 값은 0보다 작습니다. 

 

▶ 문제 2. num에 저장된 값이 '1보다 크면서 동시에 5보다 작은가?'를 묻는 문장을 만들어서 다음 빈 공간을 채워보자.

   >>> num = 3

   >>> ___________________________________
   True



▶ 문제 3. 다음과 같이 변수를 선언하자.

   >>> num = 12

"num에 저장된 값은 3보다 작거나 10보다 큰가?"를 묻는 문장을 만들어보자.



▶ 문제 4. 다음과 같이 변수를 선언하자. 
    
   >>> num = 4

그리고 다음과 같이 묻는 문장을 만들어보자.
   "num에 저장된 값은 2의 배수이지만 3의 배수는 아니다. 맞는가?"



▶ 문제 5. 프로그램 사용자로부터 정수를 하나 입력받아서 그 값에 대해 다음 중 한가지 답변을 하도록 코드를 만들어보자.
  
   입력한 값은 0보다 작습니다.
   입력한 값은 0 이상 10 미만입니다.
   입력한 값은 10 이상 20 미만입니다.
   입력한 값은 20 이상입니다.

 

[7-7. 리스트와 문자열을 대상으로도 동작하는 >=, <=, ==, != 

- A >= Z : AZ와 같거나 크니?
- A <= Z : AZ가 같거나 작으니?
- A == Z : AZ가 같으니?
- A != Z : AZ가 다르니?

- == : 두 문자가 같으니? => True

- != : 두 문자가 다르니? => False

 

 

[7-8. True 또는 False로 답하는 함수들]

- s.isdigit() : 문자열 s가 숫자로만 이루어져 있으면 True, 아니면 False 반환
- s.isalpha() : 문자열 s가 알파벳으로만 이루어져 있으면 True, 아니면 False 반환
- s.startswith(prefix) : 문자열 sprefix로 시작하면 True, 아니면 False 반환
- s.endswith(suffix) : 문자열 ssuffix로 끝나면 True, 아니면 False 반환

- st1이 숫자로만 이루어져있는가? => True

- st2가 숫자로만 이루어져있는가? => False

 

- st1이 문자열로만 이루어져있는가? => False

- st2가 숫자로만 이루어져있는가? => True

 

- 문자열이 super로 시작되는가?

- 문자열이 int로 끝나는가?

 

 

[7-9. in, not in]

- s.find(sub) : 앞에서부터 sub를 찾아서 인덱스 값 반환
- s.rfind(sub) : 뒤에서부터 sub를 찾아서 인덱스 값 반환
- s.startwith(prefix) : prefix로 시작하면 True 반환
- s.endswith(suffix) : suffix로 끝나면 True 반환

- if s.find(“ghe”) != -1 : s“ghe”가 없으면 find 함수는 -1을 반환해라

 

- 굳이 저 연산자를 안 쓰고, in 함수를 사용해도 됨

- 그냥 문자열이 있는지 없는지만 확인하고 싶다 = in 함수

- 그 문자열의 존재 유무와 함께 위치 정보를 알고 싶다 = find 함수

 

- e in S : Se가 있으면 True, 없으면 False 반환
- e not in S : Se 가 없으면 True, 있으면 False 반환

 

 <연습문제 07-2>

▶ 문제1. 다음과 같이 동작하는 코드를 만들어보자.
    프로그램 사용자가 정수를 입력하면, 그 수의 거듭제곱의 값을 출력한다.
    프로그램 사용자가 정수가 아닌 것을 입력하면 "정수가 아닙니다."를 출력한다.
    코드는 다음의 구조로 작성하자. (main 함수를 만들고 이를 호출하는 방식)
       def main():
   
       main()

    물론 프롬프트상에서 만들어도 되고 소스파일을 생성해서 만들어도 된다. 

+ Recent posts