정보처리기사 실기에서 프로그래밍 언어 문제를 폭넓게 대비할 수 있도록 Python의 리스트, 슬라이싱, 딕셔너리, 반복문, 함수 문제를 자체 제작했습니다. 실제 시험의 공개 문제나 복원문제가 아닌 학습용 재구성 문제입니다.
리스트와 슬라이싱
문제 1
a = [1, 2, 3, 4, 5]일 때 a[1:4]의 결과는 무엇인가요?
정답: [2, 3, 4]
슬라이싱의 끝 인덱스 4는 결과에 포함되지 않습니다.
문제 2
a = [1, 2, 3]에서 a.append([4, 5]) 실행 후 리스트 길이는 얼마인가요?
정답: 4
[4, 5] 전체가 하나의 원소로 추가됩니다. 두 값을 각각 추가하려면 extend를 사용할 수 있습니다.
반복문과 조건문
문제 3
sum = 0
for i in range(1, 6, 2):
sum += i
print(sum)의 출력은 무엇인가요?
정답: 9
range(1, 6, 2)는 1, 3, 5를 만듭니다.
문제 4
[x * 2 for x in range(4) if x % 2 == 0]의 결과를 쓰세요.
정답: [0, 4]
0부터 3 중 짝수인 0과 2만 선택하고 각각 2를 곱합니다.
딕셔너리와 집합
문제 5
d = {'a': 1, 'b': 2}; d['a'] += 3 실행 후 d['a']는 얼마인가요?
정답: 4
문제 6
set([1, 1, 2, 3, 3])의 원소 개수는 얼마인가요?
정답: 3
집합은 중복 원소를 제거하므로 1, 2, 3만 남습니다.
함수와 예외
문제 7
def add(a, b=2): return a+b
print(add(3))의 출력은 무엇인가요?
정답: 5
b에 기본값 2가 사용됩니다.
문제 8
try 블록에서 int('A')를 실행하면 발생하는 대표 예외는 무엇인가요?
정답: ValueError
문자열 A를 정수로 변환할 수 없으므로 값 변환 오류가 발생합니다.
Python 문제 풀이 포인트
- range의 끝값은 포함하지 않습니다.
- 슬라이싱의 시작은 포함하고 끝은 포함하지 않습니다.
- append와 extend의 결과를 구분합니다.
- 딕셔너리는 키로 값을 찾고 집합은 중복을 제거합니다.
- 들여쓰기가 코드 블록의 범위를 결정합니다.
프로그래밍 언어를 함께 대비하려면 C 문제와 Java 문제도 풀어보세요. 데이터베이스 영역은 SQL 문제 10선에서 연습할 수 있습니다.
