정보처리기사 실기PythonPython - 리스트 컴프리헨션과 조건난이도 3SHORT_ANSWER

정보처리기사 실기 Python - 리스트 컴프리헨션과 조건 기출문제 #1466

문제

다음 Python 코드의 실행 결과를 쓰시오.

Python
data = [('apple', 5), ('banana', 3), ('cherry', 8), ('date', 2)] result = [(name.capitalize(), qty // 2 + qty % 3) if qty > 4 else (name[:3].upper(), qty * 2) for name, qty in data] print(result)

정답

[('Apple', 4), ('BAN', 6), ('Cherry', 6), ('DAT', 4)]

[('Apple', 4), ('BAN', 6), ('Cherry', 6), ('DAT', 4)]

해설

리스트 컴프리헨션의 조건부 표현식을 각 요소별로 계산:

  1. apple(5): 5 > 4이므로 ('Apple', 5//2 + 5%3) = ('Apple', 2 + 2) = ('Apple', 4)
  2. banana(3): 3 ≤ 4이므로 ('BAN', 3 * 2) = ('BAN', 6)
  3. cherry(8): 8 > 4이므로 ('Cherry', 8//2 + 8%3) = ('Cherry', 4 + 2) = ('Cherry', 6)
  4. date(2): 2 ≤ 4이므로 ('DAT', 2 * 2) = ('DAT', 4) 따라서 최종 결과는 [('Apple', 4), ('BAN', 6), ('Cherry', 6), ('DAT', 4)]

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.