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주차 기본 미션]
사용자에게 태어난 연도를 입력받아 띠를 출력하는 프로그램 작성하기
- 소스 코드
- 출력 화면
'개발 > 혼공학습단_11기' 카테고리의 다른 글
[혼공파] 혼자 공부하는 파이썬_5주차 (0) | 2024.02.04 |
---|---|
[혼공파] 혼자 공부하는 파이썬_4주차 (0) | 2024.01.28 |
[혼공파] 혼자 공부하는 파이썬_3주차 (1) | 2024.01.21 |
[혼공파] 혼자 공부하는 파이썬_2주차 (1) (2) | 2024.01.13 |
[혼공파] 혼자 공부하는 파이썬_1주차 (1) | 2024.01.06 |