Python · 연산자·연습 문제

and / or 반환값

문제 설명PROBLEM

and / or 반환값

문제

and/or의 피연산자 반환 규칙을 이용해 first and second, first or fallback, empty or fallback을 반환하세요.

구현할 함수

short_circuit_values(first, second, empty, fallback) -> list

입력

JSON 객체 {"first": 값, "second": 값, "empty": 거짓으로 평가되는 값, "fallback": 값}

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

함수 반환값을 공백 없는 JSON 한 개로 출력합니다.

구현 조건

  • and와 or 표현식을 직접 사용하세요.
  • bool로 변환하지 말고 원래 피연산자 값을 반환하세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1참 first{"first":2,"second":3,"empty":0,"fallback":5}[3,2,5]
2거짓 first{"first":"","second":"next","empty":[],"fallback":"x"}["","x","x"]
3리스트 피연산자{"first":[1],"second":[2],"empty":null,"fallback":[9]}[[2],[1],[9]]
개념 노트와 실수 포인트

연산자

  • // 바닥 나눗셈(정수 몫), /항상 실수. ⚠️ 음수 주의: -7//2 == -4(더 작은 정수로 내림).
  • ⚠️ % 의 부호는 나누는 수(우측)를 따름: -7%3 == 2, 7%-3 == -2.
  • ** 거듭제곱, divmod(a,b)(몫, 나머지).
  • ⚠️ and/or 는 불리언이 아니라 값을 반환(단축평가): 2 and 3 → 3, 0 or 5 → 5, '' or 'x' → 'x'.
  • 빈 값(0,'',[],{})은 거짓.