DongSup
dev's gait
DongSup
전체 방문자
오늘
어제
  • 분류 전체보기 (71)
    • flask (13)
    • iOS (11)
    • python (22)
    • CS (21)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬
  • Swift
  • 언어공부
  • 한걸음
  • 첫글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DongSup
python

10. 기초 - 삼항연산 (코드업 기초 100제)

10. 기초 - 삼항연산 (코드업 기초 100제)
python

10. 기초 - 삼항연산 (코드업 기초 100제)

2022. 1. 30. 19:00

Q38 ▶ 입력된 두 정수 a, b 중 큰 값을 출력하는 프로그램을 작성해보자.
단, 조건문을 사용하지 않고 3항 연산자 'and or' 를 사용한다.

Tip
파이썬에서의 3항(세 개의 요소로 이루어지는) 연산자는 다른 언어와 사용 방식이 다소 다르다.
타 언어 : "조건식 ? (참일 때의 값) : (거짓일 때의 값)”
파이썬에서의 3항(ternary) 연산자는 "조건식 and (참일 때의 값) or (거짓일 때의 값)” 의 형태로 사용하는 연산자이다.
조건식의 계산 결과가 참인 경우에는 'and' 오른쪽의 값 또는 식으로 바뀌고,
거짓인 경우에는 'or' 오른쪽의 값 또는 식으로 바뀐다.
이것이 가능한 이유는 파이썬이 인터프리터 방식으로 동작하기 때문이다.

a, b = map(int, input().split())
print( a>b and a or b )

 

 


 

 

Q64 ▶ 입력된 세 정수 a, b, c 중 가장 작은 값을 출력하는 프로그램을 작성해보자. (단, 삼항 연산자 이용)

Tip
파이썬에서는 논리연산을 이용한 삼항 연산자 외에 if-else를 이용한 삼항 연산도 제공한다. 이러한 이유는 논리연산을 이용한 삼항연산 때 발생할 수 있는 오류가 있기 때문이다.
3항 논리 연산의 오류 : 5==5 and 5-5 or 5+5 >> 10
위 연산에서는 5==5가 참이기 때문에 5-5가 실행되어 0이 출력되는 것이 맞다. 그러나 10이 출력된다. 이유는 논리 연산의 특성 때문이다.
위 구문을 크게 따져보면 (True and false) or true 로 표현할 수 있다. 따라서 앞의 (True and false)가 false가 되므로 or 오른쪽에 true 값인 10이 출력된 것이다.

a, b, c = map(int, input().split())
num = a if a<b else b
print(  num if num < c else c )
if-else를 이용한 삼항 연산은 "(참일 때의 값) if (조건식) else (거짓일 때의 값)"으로 나타낼 수 있다.
삼항 연산자는 중첩하여 이용할 수 있다.

 

 


 

 

Q64+ ▶ 1개의 정수형 입력이 들어오면 삼항 연산을 이용하여 '홀수'와 '짝수'를 판별하여라

Tip
입력이 2로 나눠지면 짝수이고, 그렇지 않으면 홀수임을 이용한다.
파이썬에서의 논리연산인 AND와 OR의 특징(Chapter 8 참고)을 이용한다. => 파이썬에서는 이러한 연산을 "삼항 연산"으로 정의한다.

Tip2
입력이 2로 나눠지면 짝수이고, 그렇지 않으면 홀수임을 이용한다.
파이썬에서의 삼항 연산은 if-else로도 구현할 수 있다.

number = int(input())
print( '홀수' if number%2 else '짝수' )

 


'python' 카테고리의 다른 글

12. 기초 - 반복실행구조 (코드업 기초 100제)  (0) 2022.02.09
11. 기초 - 조건문/선택 실행 구조 (코드업 기초 100제)  (0) 2022.02.09
9. 기초 - 비트단위 논리연산 (코드업 기초 100제)  (0) 2022.01.30
8. 기초 - 논리연산 (코드업 기초 100제)  (0) 2022.01.30
7. 기초 - 비교연산 (코드업 기초 100제)  (0) 2022.01.30
    'python' 카테고리의 다른 글
    • 12. 기초 - 반복실행구조 (코드업 기초 100제)
    • 11. 기초 - 조건문/선택 실행 구조 (코드업 기초 100제)
    • 9. 기초 - 비트단위 논리연산 (코드업 기초 100제)
    • 8. 기초 - 논리연산 (코드업 기초 100제)
    DongSup
    DongSup

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.