1-1. 3항 연산자 개념
https://codeup.kr/problem.php?id=6063
3개의 요소로 이루어지는 3항 연산은
"x if C else y" 의 형태로 작성이 된다.
- C : True 또는 False 를 평가할 조건식(conditional expression) 또는 값
- x : C의 평가 결과가 True 일 때 사용할 값
- y : C의 평가 결과가 True 가 아닐 때 사용할 값
조건식 또는 값이 True 이면 x 값이 사용되고, True가 아니면 y 값이 사용되도록 하는 코드이다.
예를 들어
0 if 123>456 else 1
과 같은 표현식의 평가값은 123 > 456 의 비교연산 결과가 False 이므로 1이 된다.
예시 코드에서
a>=b 의 결과가 True(참) 이면 (a if (a>=b) else b)의 결과는 a가 되고,
a>=b 의 결과가 False(거짓)이면 (a if (a>=b) else b)의 결과는 b가 된다.
1-2. 3항 연산자 예시
a,b=input().split()
print(a if(int(a)>int(b)) else b)
1-3. 3항 연산자 심화
3가지 정수를 받아 가장 작은 수를 찾아라.
a,b,c=input().split()
result=((int(a) if int(a)<int(b) else int(b)) if ((int(a) if int(a)<int(b) else int(b))<int(c)) else int(c))
print(result)
*풀이*
정수 입력 -> a b c -> 1 2 3
1) a if(a<b) else b -> a가 b보다 작으면 a 아니면 b -> a
2) (a if(a<b) else b) if (a if(a<b) else b)<c else c -> a가 c보다 작으면 a 아니면 c -> a
*주의사항*
모든 수를 int로 형변환 후 연산해야한다.
쓴이는 int로 모두 변환하지 않았더니 큰 수는 int로 계산되지 않아 제대로된 값이 안나왔다.
like this...
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬 비트연산자 (0) | 2022.10.05 |
---|---|
파이썬 논리연산 XOR(exclusive or, 배타적 논리합) 연산 등 (1) | 2022.10.05 |
파이썬 비트시프트연산 (0) | 2022.10.05 |
파이썬 실수형 소수점 자리 변환 (1) | 2022.10.05 |
파이썬 16진수 / 8진수 / 10진수 (1) | 2022.10.05 |