코드업 기초 100제 문제 063
# 입력된 두 정수 a, b 중 큰 값을 출력하는 프로그램을 작성해보자.
# 단, 조건문을 사용하지 않고 3항 연산자 'and or' 를 사용한다..
소스
더보기
a, b = map(int, input().split())
print(a > b and a or b)
파이썬의 3항 연산자는 다른 언어의 3항 연산자와는 다른 면이 있습니다. 대부분의 3항 연산자는 "조건? 값 1 : 값 2"형태이지만 파이썬의 3항 연산자는"조건 and 값1 or 값 2" 형태입니다. 파이썬의 이런 형태를 이해하려면 3항 연산자의 특징을 먼저 살펴 볼 필요가 있습니다. 연산 순서를 보면 왼쪽에서 오른쪽으로 갑니다. 그리고 3항 연산자는 결과가 참이나 올 경우 1(true)을 반환하는 것이 아니고 3항 연산자의 오른쪽 값이 반환되기 때문에 참일 경우 값 1을 반환합니다. 거짓이 나온 경우는 정상적으로 0(false)을 반환합니다. 이상태로 식을 풀면 "0 or 값 2"가 되기 때문에 논리식으로 하면 값은 "0+값 2 => 값 2"가 됩니다. 그래서 "조건? 값 1 : 값 2"로 3항 연산자를 구현할 수 있는 겁니다.
'파이썬 > 코트업 기초 100제' 카테고리의 다른 글
코드업 기초 100제 문제 064 보너스 (0) | 2022.01.25 |
---|---|
코드업 기초 100제 문제 064 (0) | 2022.01.25 |
코드업 기초 100제 문제 062 보너스 (0) | 2022.01.25 |
코드업 기초 100제 문제 062 (0) | 2022.01.25 |
코드업 기초 100제 문제 061 (0) | 2022.01.25 |