Chapter 03. 조건문

[불 자료형과 if 조건문]

 

✏️ Bool 자료형 : 파이썬의 기본 자료형으로, True (참) / 거짓 (False) 을 나타내는 값. 비교 연산자를 통해 얻을 수 있다.

 

[비교 연산자의 종류]

연산자 설명 연산자 설명
== 같다 > 크다
!= 다르다 <= 작거나 같다
< 작다 >= 크거나 같다

 

✏️ 숫자 또는 문자열에 비교 연산자를 적용하여 참/거짓을 출력할 수 있다.

  • 한글 비교는 사전 순서 (가나다 순) 로 앞에 있는 것이 작은 값을 갖는다.
  • 영어 비교는 알파벳 순으로 비교한다. 같은 단어라도 대소문자가 다르면 다른 문자열로 판단한다.
# 10과 100은 다르므로 False
print (10 == 100)

# 10은 100보다 작으므로 True
print (10 < 100)

# 10과 100은 다르므로 True
print( 10 != 100)

# 10은 100보다 작으므로 False
print (10 >= 100)
False

# "가방" 과 가방은 같은 단어이므로 True
print("가방" == "가방")

# "ㄱ" 이 "ㅎ"보다 앞에 있으므로 True
print("가방" < "하마")

# "ㄱ" 이 "ㅎ"보다 앞에 있으므로 False
print("가방" > "하마")

# "a" 가 "b" 보다 알파벳 순서상 앞이므로 True
print("apple" < "banana")

# "a" 가 "b" 보다 알파벳 순서상 앞이므로 True
print("apple" > "banana")

# 같은 단어이지만 "p" 가 소문자/대문자인 차이가 있으므로 False
print("python" == "Python")

 

★ bool 끼리는 논리 연산자를 사용할 수 있다.

[논리 연산자의 종류]

연산자  사용 예 의미 설명
not not A 아니다 (부정) A 의 값을 반대로 전환한다. (A가 True면 False로, False면 True 로)
and A and B 그리고 A 와 B가 모두 참일 때만 True를 출력하며, 그 외는 모두 False를 출력한다.
or A or B 또는 A 와 B 둘 중 하나라도 참이면 True 를 출력하며, A와 B가 모두 거짓일 때만 False를 출력한다.

 

x = 10
under_20 = x < 20
print(under_20)		# True
print(not under_20)	# False

print(True and True)	# True
print(True and False)	# False
print(False and True)	# False
print(False and False)	# False

print(True or True)	# True
print(True or False)	# True
print(False or True)	# True
print(False or False)	# False

✏️ if 조건문 : 조건에 따라 코드를 실행하거나, 실행하지 않게 만들고 싶을 때 사용한다.

# 사용 예

if bool 값이 나오는 표현식:  # if 조건문 뒤에 콜론( : )을 붙여준다.
    True일 때 수행할 문장1   # if 문 아래 문장은 4칸 들여쓰기 후 입력한다.
    True일 때 수행할 문장2
x = 10
if x > 0:
    print("양수입니다")  # 양수입니다 출력
    
if x < 0:
    print("음수입니다")  # 거짓이므로 아무 값도 출력되지 않는다.

 

✏️ if ~ else 구문 : if 조건문 뒤에 else 구문을 사용하여, if 조건문의 값이 False인 경우 else 구문 값을 실행한다.

# 사용 예

if 조건:
    True일 경우 실행할 문장
else:
    False일 경우 실행할 문장
number = int(input("정수 입력> ")) # 정수 입력> 13

if number % 2 == 0:
	# number % 2 가 0인 경우 (True) "짝수입니다" 출력
    print("짝수입니다")
else:
	# number % 2 가 0이 아닌 경우 (False) "홀수입니다" 출력
    # 13은 홀수이므로 이 문장 실행
    print("홀수입니다")

 

✏️ elif 구문 : 조건이 두 가지 만으로 구분되지 않는 경우, if ~ elif ~ else 구문을 사용하여 여러 조건에 대한 분기를 수행

# 사용 예

if 조건 A:
    조건 A 가 True일 경우 실행할 문장
elif 조건 B:
    조건 B가 True일 경우 실행할 문장
elif 조건 C:
    조건 C가 True일 경우 실행할 문장
else:
    조건 A,B,C에 걸리지 않는 경우 ( 모든 조건이 False인 경우) 실행할 문장

 

# 날짜/시간과 관련된 기능을 가져온다
import datetime

# 현재 날짜 시간을 구한다
now = datetime.datetime.now()
# 비교할 수 있도록 월 정보를 month 변수에 저장한다.
month = now.month

# 조건문으로 현재 계절을 확인한다.
if 3 <= month <= 5:
    print("봄입니다")
elif 6 <= month <= 8:
    print("여름입니다")
elif 9 <= month <= 11:
    print("가을입니다")
else:
    print("겨울입니다")
# 파이썬 조건문을 효율적으로 구성하기
# 점수를 입력 받아 학점을 계산해 주는 프로그램

score = int(input("학점입력: "))

if score >= 90:
    print("A 학점")
# 위에서 score가 90보다 큰 지 검사했으므로 하위 값만 검사한다.
# 이 조건문은 80 =< score =< 90 과 같은 의미이다.
elif score >= 80:
    print("B 학점")
# 위에서 score가 90,80보다 큰 지 검사했으므로 하위 값만 검사한다.
# 70 <= score <= 80
elif score >= 70:
    print("C 학점")
# 위에서 score가 90,80,70보다 큰 지 검사했으므로 하위값만 검사한다.
# 60<= score <= 70
elif score >= 60:
    print("D 학점")
# 모든 조건식에 해당되지 않는 경우
else:
    print("F 학점")

 

✏️ False 로 변환되는 값 : if 조건문의 매개변수가 bool 값이 아닌 다른 값을 사용하는 경우 자동으로 이를 bool 값으로 변환해서 처리한다.

  • False로 변환되는 값 : None, 숫자 0, 0.0 , 빈 컨테이너 (빈 문자열, 빈 바이트열, 빈 리스트, 빈 튜플, 빈 딕셔너리 등)
  • True로 변환되는 값 : 그 외 나머지
# if 조건문에 0 넣기
if 0:
    print("0은 True 를 반환한다.")
else:
	# 조건문에 0이 들어오면 False를 반환하므로 else 구문이 실행된다.
    print("0은 False를 반환한다.")

# if 조건문에 빈 문자열 넣기
if "":
    print("빈 문자열을 True를 반환한다.")
else:
	# 조건문에 빈 문자열이 들어오면 False를 반환하므로 else 구문이 실행된다.
    print("빈 문자열은 False를 반환한다.")

 

✏️ pass 키워드 : 프로그래밍의 전체 골격을 잡아 두고, 내부에 처리할 내용은 나중에 만들고자 할 때 pass 키워드 입 


[2주차 기본 미션] 

사용자에게 태어난 연도를 입력받아 띠를 출력하는 프로그램 작성하기

 

- 소스 코드

 

- 출력 화면

 

+ Recent posts