프로그래머스 파이썬 입문_13차시 논리연산과 if문 더 알아보기
1-1. 논리연산 더 알아보기
단락평가
- 논리연산에서 코드의 앞만 보고 값을 정할 수 있는 경우 뒤는 보지 않고 값을 결정
- 복잡한 코드를 단순하게 하는 방식
2-1. bool값과 논리연산
true, false
- 숫자 0을 제외한 모든 수 - true
- 빈 딕셔너리, 빈 리스트를 제외한 모든 딕셔너리, 리스트 - true
- 아무 값도 없다는 의미인 None - false
- 빈문자열을 제외한 모든 문자열 - true
2-2. bool값과 논리연산 실습하기
예제1
다음 코드를 실행해서 어느 경우 if문 안의 코드가 실행되는지 확인해 보세요.
if []:
print("[]은 True입니다.")
if [1, 2, 3]:
print("[1,2,3]은/는 True입니다.")
if {}:
print("{}은 True입니다.")
if {'abc': 1}:
print("{'abc':1}은 True입니다.")
if 0:
print("0은/는 True입니다.")
if 1:
print("1은 True입니다.")
true와 false 논리연산은 아래와 같이 이루어 질 수도 있습니다.
구분 False True
숫자 숫자 0 숫자 0을 제외한 모든 수
문자열 빈 문자열('') 빈 문자열을 제외한 모든 문자열
리스트 빈 리스트([]) 빈 리스트를 제외한 모든 리스트
딕셔너리 빈 딕셔너리({}) 빈 딕셔너리를 제외한 모든 딕셔너리
기타 None 오브젝트
예를 들어,
bool(0)
bool(3.3)
bool([])
bool(None)
예제2
or연산의 결과는 앞의 값이 True이면 앞의 값을, 앞의 값이 False이면 뒤의 값을 따릅니다. 다음 코드를 실행해서 각각 a와 b에 어떤 값이 들어가는지 확인해 보세요.
예를 들어,
a = True or 1 #True 앞의 값이 True입니다.
b = False or 0 #0 앞의 값이 False이므로 뒤의 값을 따릅니다.
c = 0 or False #False 앞의 값이 0이므로 False입니다. 따라서 뒤의 값인 False를 따릅니다.
d = 1 or False #1 앞의 값이 1이므로 True입니다.
a = 1 or 10
b = 0 or 10
print("a:{}, b:{}".format(a, b))