[정처기] 정보처리기사 실기 Python 문제 모음
업데이트:
✅ 정보처리기사 Python 문제 모음
📌 다음 파이썬 코드에서 알맞는 출력값을 작성하시오.( 23년 2회 )
a = "engineer information processing"
b = a[:3]
c = a[4:6]
d = a[28:]
e=b+c+d
print(e)
정답 : engneing
파이썬 Slice 개념을 알고있으면 쉽게 풀릴 문제다.
items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
items[2:5] # 인텍스 2에서 인덱스 5까지(인덱스 5는 제외) 슬라이싱
# [2, 3, 4]
items[5:] # 인덱스 5에서 끝까지 슬라이싱
# [5, 6, 7, 8, 9, 10]
items[:3] # 처음부터 인덱스 3까지(인덱스 3은 제외) 슬라이싱
# [0, 1, 2]
items[:] # 처음부터 끝까지 슬라이싱(즉, 리스트 복사본 반환)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
items[2:9:3] # 인덱스 2에서 인텍스 9까지(인덱스 9는 제외) 3칸씩 점프
# [2, 5, 8]
items[:10:2] # 처음부터 인텍스 10까지(인덱스 10은 제외) 2칸씩 점프
# [0, 2, 4, 6, 8]
items[2::2] # 인덱스 2에서 끝까지 2칸씩 점프
# [2, 4, 6, 8, 10]
items[::3] # 전체 리스트에 대해서 3칸씩 점프
# [0, 3, 6, 9]
items[10:0:-3] # 인텍스 10에서 0까지(인덱스 0은 제외) 역순으로 슬라이싱
# [10, 7, 4, 1]
items[5:1:-1] # 인덱스 5에서 1까지(인텍스 1은 제외) 역순으로 슬라이싱
# [5, 4, 3, 2]
items[1::-1] # 인덱스 1에서 끝까지 역순으로 슬라이싱
# [1, 0]
items[1:10:-1] # 인텍스 1에서 인덱스 10까지(인덱스 10인 제외) 역순으로 슬라이싱, 하지만 슬라이싱 못하므로 빈 리스트 반환
# []
items[:-3:-1] # 리스트 끝에서 3번째 인덱스까지(인덱스 -3은 제외) 역순으로 슬라이싱
# [10, 9]
items[0:-3:-1] # 인텍스 0에서부터 리스트 끝에서 3번째 인덱스까지(인텍스 -3은 제외) 역순으로 슬라이싱, 하지만 슬라이싱 못하므로 빈 리스트 반환
# []
items[::-1] # 리스트 처음부터 끝까지 역순으로 슬라이싱
# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
items[::-2] # 리스트 처음부터 끝까지 역순으로 2칸씩 슬라이싱
# [10, 8, 6, 4, 2, 0]
📌 다음 파이썬 코드의 알맞는 출력값을 작성하시오. ( 23년 1회 )
a = {'한국', '중국', '일본'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update({'홍콩', '한국', '태국'})
print(a)
정답 : {‘한국’, ‘중국’, ‘일본’, ‘베트남’, ‘태국’} ( 순서는 상관없음 )
set는 순서를 보장하지 않기때문에 요소를 추가할때 순서를 고려하지 않아도 된다. 또한 update
는 없으면 추가, 있으면 유지를 하면 된다. 그러나 set는 중괄호와 작은따옴표를 반드시 포함해줘야 한다!!!
📌 다음 파이썬 코드에 대한 출력값을 작성하시오.
TestList = [1,2,3,4,5]
TestList = list(map(lambda num : num + 100, TestList))
print(TestList)
정답 : [101, 102, 103, 104, 105]
📌 다음 Python으로 구현된 프로그램과 입력값을 보고 실행 결과를 작성하시오.
x = input()
x = x.capitalize()
y = x.split()
print(y[0][::2], end = '*')
print(y[1][3:6])
입력 : python programming
정답 : Pto*gra
capitalize()
는 첫 글자를 대문자로 변경한다.
split()
은 공백을 기준으로 배열형태로 변경해준다.
따라서 y[0] = python
이고 y[1] = programming
이다.
이후는 slice해주면 된다.
📌다음 python의 프로그램과 입력값을 분석하여 실행 결과에 대해 작성하시오.
arr_str = input('input String :').split('-')
arr_len = int(input('input number : '))
arr_val = list(range(0,arr_len,2))
arr_val.remove(4)
print(arr_str[1].find('i') + arr_val[2])
입력 :
input string : information-technology
input number : 12
정답 : 5
arr_str[0] = information
arr_str[1] = technology
arr_len = 12
arr_val = [0, 2, 4, 6, 8, 10]
arr_val.remove(4) -> [0, 2, 6, 8, 10]
arr_str[1].find('i') = -1
arr_val[2] = 6
result : 5
range(start, stop) 함수는 start부터 stop-1까지의 숫자를 생성한다.
📌 다음 python의 프로그램을 분석하여 실행 결과에 대해 작성하시오.
i = 20
f = 123456.789E-3
print('%d\n%d' % (i, i), end = '/')
print('%.3f' % f)
정답 :
댓글남기기