프로그래밍기능사 필기 · 프로그래밍 언어 과목
AI 작성 · 운영진 검수 전프로그래밍기능사 파이썬 핵심정리
- 중요도
- ★★★★★ (5 / 5)
- 출제 비중
- 프로그래밍 언어 15문항 중 약 5문항 (30%)
파이썬의 자료형(리스트·튜플·딕셔너리), 슬라이싱, 반복문과 함수를 다룹니다.
📖 파이썬 개념 정리 보기 →파이썬, 이것만은 꼭 외우세요
- range(1, 5) 는 1, 2, 3, 4 를 만듭니다.
- 리스트는 고칠 수 있고 튜플은 고칠 수 없습니다.
파이썬 대표 문제 6개
예상문제검수 완료프로그래밍 언어 › 파이썬★★★★★
문제 1. 다음 파이썬 코드의 출력 결과는? print(10 // 3, 10 % 3, 2 ** 3)
- ① 1 3 8
- ② 3 1 8
- ③ 3.3333333333333335 1 8
- ④ 3 1 6
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② 3 1 8
핵심: // 는 몫, % 는 나머지, ** 는 거듭제곱
- 10 // 3 → 10 을 3 으로 나눈 몫 → 3
- 10 % 3 → 나머지 → 1
- 2 ** 3 → 2 × 2 × 2 = 8
- print 는 값 사이에 빈칸을 넣어 출력: 3 1 8
틀린 선지
- ① 1 3 8: 몫과 나머지가 바뀌었습니다.
- ③ 3.3333333333333335 1 8: // 는 몫만 구하는 정수 나눗셈입니다. 소수가 나오는 것은 / 입니다.
- ④ 3 1 6: ** 는 거듭제곱입니다. 2 × 3 이 아니라 2 × 2 × 2 입니다.
예상문제검수 완료프로그래밍 언어 › 파이썬★★★★★
문제 2. 다음 파이썬 코드의 출력 결과는? a = [1, 2, 3] a.append(4) print(len(a))
- ① 10
- ② 3
- ③ [1, 2, 3, 4]
- ④ 4
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 4
핵심: append 는 리스트 끝에 추가, len 은 개수를 센다
- a = [1, 2, 3]
- a.append(4) → 끝에 4 를 붙여 a = [1, 2, 3, 4]
- len(a) 는 원소의 개수 → 4
- 출력: 4
틀린 선지
- ① 10: len 은 원소의 합이 아니라 개수를 구합니다.
- ② 3: append(4) 로 원소가 하나 늘어났습니다.
- ③ [1, 2, 3, 4]: 리스트 자체가 아니라 길이(개수)를 출력합니다.
예상문제검수 완료프로그래밍 언어 › 파이썬★★★★★
문제 3. 다음 파이썬 코드의 출력 결과는? s = "hello" print(s[-1])
- ① 오류
- ② l
- ③ o
- ④ h
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ o
핵심: 파이썬에서 [-1] 은 맨 마지막 원소
파이썬은 뒤에서부터 셀 때 음수 번호를 씁니다. -1 은 맨 마지막 글자입니다.
- "hello" 의 마지막 글자: o
- 출력: o
틀린 선지
- ① 오류: 파이썬은 음수 번호를 쓸 수 있어 오류가 나지 않습니다.
- ② l: s[-2] 의 값입니다.
- ④ h: s[0] 의 값입니다. -1 은 맨 뒤를 뜻합니다.
예상문제검수 완료프로그래밍 언어 › 파이썬★★★★★
문제 4. 다음 파이썬 코드의 출력 결과는? d = {'a': 1, 'b': 2} d['c'] = 3 print(sum(d.values()))
- ① abc
- ② 3
- ③ 오류
- ④ 6
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 6
핵심: 딕셔너리에 새 키로 넣으면 항목이 추가된다
딕셔너리는 '키: 값' 쌍으로 자료를 저장합니다.
- 처음: {'a': 1, 'b': 2}
- d['c'] = 3 → 'c': 3 이 추가됨
- d.values() → 1, 2, 3
- sum → 1 + 2 + 3 = 6
- 출력: 6
틀린 선지
- ① abc: values() 는 키가 아니라 값을 가져옵니다.
- ② 3: 새로 넣은 'c' 의 값 3 만 본 것입니다. values() 는 모든 값을 가져옵니다.
- ③ 오류: 없는 키에 값을 넣으면 새 항목이 추가될 뿐 오류가 나지 않습니다.
예상문제검수 완료프로그래밍 언어 › 파이썬★★★★★
문제 5. 다음 파이썬 코드의 출력 결과는? def f(n): if n <= 1: return 1 return n * f(n - 1) print(f(4))
- ① 4
- ② 24
- ③ 10
- ④ 12
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② 24
핵심: 재귀 함수로 4! = 4×3×2×1 = 24 를 구한다
함수 f 는 자기 자신을 다시 부르는 재귀 함수로, 팩토리얼(n!)을 구합니다.
- f(4) = 4 × f(3)
- f(3) = 3 × f(2)
- f(2) = 2 × f(1)
- f(1) = 1 (n <= 1)
- 거꾸로 계산: 2 × 1 = 2 → 3 × 2 = 6 → 4 × 6 = 24
- 출력: 24
틀린 선지
- ① 4: 함수가 자기 자신을 다시 부르며(재귀) 계속 곱합니다.
- ③ 10: 곱하기가 아니라 4 + 3 + 2 + 1 처럼 더한 값입니다.
- ④ 12: 4 × 3 에서 멈춘 값입니다. f(2) = 2 까지 이어서 곱합니다.
예상문제검수 완료프로그래밍 언어 › 파이썬★★★★☆
문제 6. 다음 파이썬 코드의 출력 결과는? print([x * x for x in range(1, 6) if x % 2 == 1])
- ① [4, 16]
- ② [1, 9, 25, 49]
- ③ [1, 4, 9, 16, 25]
- ④ [1, 9, 25]
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ [1, 9, 25]
핵심: 리스트 컴프리헨션: 조건에 맞는 값만 골라 계산한다
대괄호 안의 for 와 if 로 새 리스트를 만드는 문법입니다.
- range(1, 6) → 1, 2, 3, 4, 5
- x % 2 == 1 (홀수) → 1, 3, 5
- 각각 제곱: 1, 9, 25
- 출력: [1, 9, 25]
틀린 선지
- ① [4, 16]: x % 2 == 1 은 홀수만 고르는 조건입니다. 짝수의 제곱입니다.
- ② [1, 9, 25, 49]: range(1, 6) 은 1~5 이므로 7 은 들어가지 않습니다.
- ③ [1, 4, 9, 16, 25]: if 조건으로 홀수만 고른다는 점을 빠뜨렸습니다.
직접 풀어서 확인해 보세요.