입력된 세 정수 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 |