Python/[코드트리]
[코드트리] 삼항 연산자(개념)
hyunnn_00
2023. 6. 15. 11:21
정확히 if else 로만 이루어져 있는 구문은 다음과 같이 삼항연산자를 이용하면 한 줄에 표현이 가능합니다. 이렇게 코드를 작성하면 변수 a는 조건이 참인 경우 v1값을, 조건이 거짓인 경우에는 v2 값을 갖게 됩니다.기존 코드
if 조건:
a = v1
else:
a = v2
삼항연산자를 이용한 코드
a = v1 if 조건 else v2
python3 코드
a = int(input())
b = 50 if a > 10 else 3
print(b)
출력결과 1
>> 20
50
출력결과 2
>> 5
3
Side Note
다음 코드의 출력 결과는 어떻게 될까요? 6 일까요 14일까요?
n = 8
a = 2 + 6 + 5 if n > 10 else 6
print(a)
결과는 6입니다. 2 + 6 + 5 부분이 하나로 묶여서 처리가 되기 때문인데요,
만약 의도가 2 + 6은 항상 계산되기를 원하고, 삼항 연산자에 따라 5또는 6이 선택되기를 원했더라면, 다음과 같이 코드를 작성하면 원하는 결과인 14를 얻을 수 있습니다.
python3 코드
n = 8
a = 2 + 6 + (5 if n > 10 else 6)
print(a)
출력결과
14