본문 바로가기

study/python

삼항연산자

입력된 세 정수 a, b, c 중 가장 작은 값을 출력하는 프로그램을 작성해보자.
단, 3항 연산을 사용한다.

따라서 3항 연산을 중첩해(괄호로 묶는 등..) 이용하면 여러 값들을 순서대로 비교해 가장 큰/작은 값을 계산할 수 있다.

예를 들어
(a if a>b else b) if ((a if a>b else b)>c) else c
와 같은 계산식은 a, b, c 의 값 중 가장 큰 값으로 계산된다.

 

“연산자 우선순위”를 검색하면 우선순위와 결합방향이 나온다.
예를 들어 변수에 어떤 값을 대입하는 대입(assign) 연산자 = 의 우선순위는 가장 낮고, 오른쪽에서 왼쪽의 결합방향을 가진다.

a, b, c = input().split()
a = int(a)  #변수 a에 저장되어있는 값을 정수로 바꾸어 다시 변수 a에 저장
b = int(b)
c = int(c)

d = a if a<b else b
e = d if d<c else c

print(e)

 

a, b, c = map(int, input().split())


print((a if a<b else b) if ((a if a<b else b)<c) else c)

'study > python' 카테고리의 다른 글

input 입력 여러 개 받기  (0) 2023.02.06
스택, 큐, 덱  (0) 2023.02.02
비프시프트연산  (0) 2023.01.28
input 대신 sys.stdin.readline  (0) 2023.01.20
10진수, 8진수, 16진수  (0) 2023.01.19