2020~2024년 2회 정처기 실기 파이썬 문제 및 해설
문제가 없는 건 출력 결과를 쓰는 걸로 생각해주세요.
24년 2회
def func(x, y):
result = 0
for i in range(len(x)):
sub = x[i:i+len(y)]
if sub == y:
result += 1
return result
str = "abdcabcabca"
p1 = "ca"
p2 = "ab"
print(f'ab{func(str, p1)}', f'ca{func(str, p2)}')
24년 1회
a = ["Seoul", "Kyeonggi", "Incheon", "Daejun", "Daegu", "Pusan"]
str01 = "S"
for i in a:
str01 = str01 + i[1]
print(str01)
23년 3회
다음은 Python 프로그램에 대한 문제이다. 빨간색 박스로 가려진 '예약어' 를 알맞게 작성하시오. (단, 첫 번째 라인의 '5 10'은 사용자로 부터 입력받은 값에 해당한다.)
x, y = input("x, y의 값을 공백으로 구분하여 입력: ").[예약어]()
print("x의 값:", int(x))
print("y의 값:", int(y))
[실행결과]
x, y의 값을 공백으로 구분하여 입력: 5 10
x의 값: 5
y의 값: 10
23년 2회
다음 Python 코드에 알맞는 출력값을 작성하시오.
a = "engineer information processing"
b = a[:3]
c = a[4:6]
d = a[28:]
e=b+c+d
print(e)
23년 1회
다음 파이썬 코드의 알맞는 출력값을 작성하시오.
a={'한국','중국','일본'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update(['한국','홍콩','태국'])
print(a)
22년 3회
TestList = [1,2,3,4,5]
TestList = list(map(lambda num : num + 100, TestList)))
print(TestList)
22년 2회
다음은 파이썬 코드이다. 알맞는 출력값을 작성하시오.
a="REMEMBER NOVEMBER"
b=a[:3]+a[12:16]
c="R AND %s" % "STR";
print(b+c)
22년 1회
def exam(num1, num2=2):
print('a=', num1, 'b=', num2)
exam(20)
21년 3회
a,b = 100, 200
print(a==b)
21년 2회
a = 100
result = 0
for i in range(1,3):
result = a >> i
result = result + 1
print(result)
더보기
더보기
더보기
26
비트시프트 문제입니다.
for문은 1부터 2까지 총 두 번 돌게 됩니다. a의 비트를 오른쪽으로 한 칸 밀고 1을 더하는 계산을 2번 반복합니다.
첫번째 반복
100을 이진수로 변환하면 1100100입니다.
*이진수로 변환할 때 2의 제곱들을 쭉 써두고 100이 되도록 숫자를 더하면 쉽게 구할 수 있습니다.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 1 | 0 | 0 |
오른쪽으로 한 칸 밀면 110010이고, 이는 십진수로 50입니다. (32+16+2 = 50)
64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 1 | 1 | 0 | 0 | 1 | 0 |
여기에 1을 더하면 51이 됩니다.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 1 | 1 | 0 | 0 | 1 | 1 |
두번째 반복
51은 이진수로 110011이고, 오른쪽으로 한 칸 밀면 11001이 됩니다.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 1 | 1 | 0 | 0 | 1 |
11001은 십진수로 25(16+8+1), 여기에 1을 더하면 26이 되므로 result는 26이 됩니다.
21년 1회
class good :
list = ["seoul", "kyeonggi","inchon","daejeon","daegu","pusan"]
g = good()
str01 = ''
for i in g.list:
str01 = str01 + i[0]
print(str01)
20년 4회
lol = [[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sub in lol:
for item in sub:
print(item, end = '')
print()
20년 2회
>>> asia={"한국", "중국", "일본"}
>>> asia.add("베트남")
>>> asia.add("중국")
>>> asia.remove("일본")
>>> asia.update(["홍콩", "한국", "태국"])
>>> print(asia)