ai1 = [
'박',
'구',
'마',
'수',
'고'
]
ai2 = [
'D',
'B',
'C',
'A',
'E'
]
ai3 = [
'호',
'대',
'랑',
'늑',
'이'
]
e = [4, 3, 2, 1, 0]
d = [1, 0, 2, 4, 3]
for i in [1]:
print(f'{ai1[i]}({ai2[e[i]]}){ai3[d[i]]}')
상세 설명
ai1, ai2, ai3는 같은 위치 또는 변환 인덱스를 이용해 값을 꺼내는 리스트입니다.
e와 d는 직접 출력할 위치를 바꾸는 인덱스 리스트입니다.
반복문은 for i in [1]이므로 i 값은 1 한 번만 사용됩니다.
ai1[1]은 구, e[1]은 3이므로 ai2[3]은 A, d[1]은 0이므로 ai3[0]은 호입니다.
서답형 퀴즈
위 코드의 출력 결과를 쓰세요.
구(A)호
셀 2
코드
quantum = [
'구',
'수',
'마',
'박',
'고'
]
eng = [
'A',
'B',
'C',
'D',
'E'
]
kor = [
'호',
'대',
'랑',
'늑',
'이'
]
data = {
'마': (2, 3),
'박': (0, 1),
'구': (1, 4),
'수': (4, 0),
'고': (3, 2),
}
for k in [2]:
a, b = data[quantum[k]]
print(f'{quantum[k]} ▷ {eng[a]} {kor[b]}')
상세 설명
quantum 리스트에서 k=2 위치의 값은 마입니다.
data 딕셔너리에서 data["마"]는 (2, 3)입니다.
a=2, b=3으로 나누어 저장됩니다.
eng[2]는 C, kor[3]은 늑이므로 형식에 맞게 출력됩니다.
서답형 퀴즈
위 코드의 출력 결과를 쓰세요.
마 ▷ C 늑
셀 3
코드
t = '''
배/A:
마/D:
양/C:
구/F:
추/B:
고/E:
'''
u = '''
호,
리,
랑,
끼,
이,
코
'''
a = t.splitlines()[1:]
b = u.split(',')[::-1]
for i in [3]:
k, e = a[i][:-1].split('/')
print(f'{k}→{e}←{b[i].strip()}')
상세 설명
t는 여러 줄 문자열이고 splitlines()[1:]로 첫 빈 줄을 제외한 줄 목록을 만듭니다.
u는 쉼표 기준으로 나눈 뒤 [::-1]로 순서를 뒤집습니다.
for i in [3]이므로 네 번째 줄인 구/F:를 선택합니다.
a[i][:-1]은 마지막 콜론을 제거하고, split("/")로 구와 F를 나눕니다.
뒤집힌 b의 3번째 인덱스 값은 랑입니다.
서답형 퀴즈
위 코드의 출력 결과를 쓰세요.
구→F←랑
셀 4
코드
ERA = {
"고": {
"eng": "B",
"kor": "코",
},
"추": {
"eng": "E",
"kor": "랑",
},
"마": {
"eng": "A",
"kor": "이",
},
"배": {
"eng": "F",
"kor": "끼",
},
"구": {
"eng": "C",
"kor": "호",
},
"양": {
"eng": "D",
"kor": "리",
}
}
a = list(ERA.items())
for i in [4]:
k, v = a[i]
print(f'[{k}] {v["eng"]} {v["kor"]}')
상세 설명
ERA는 글자 하나를 key로 하고, eng와 kor 값을 가진 중첩 딕셔너리입니다.
list(ERA.items())는 입력된 순서대로 (key, value) 쌍을 리스트로 만듭니다.
for i in [4]이므로 다섯 번째 항목을 선택합니다.
다섯 번째 항목의 key는 구이고 value의 eng는 C, kor는 호입니다.
서답형 퀴즈
위 코드의 출력 결과를 쓰세요.
[구] C 호
셀 5
코드
class B:
def __init__(s, b):
s.__b = b
print(f"가:{s.__b}원", end="→")
def d(s, a):
s.__b += a
print(f"나:{a}원", end="→")
def g(s):
return s.__b
a = B(10000)
a.d(5000)
print(f"다:{a.g()}원")
데코레이터 적용은 아래에서 위로 먼저 감싸집니다: E → C → B → D → F 순서입니다.
실행할 때는 가장 바깥 F가 호출되지만 내부 함수 결과를 먼저 받아 문자열을 덧붙입니다.
A()의 기본 반환값 고:에 추→, 배→, 마→, 양→, 구가 차례로 붙습니다.
서답형 퀴즈
위 코드의 출력 결과를 쓰세요.
고:추→배→마→양→구
셀 8
코드
class N:
def __init__(s, n):
s.n = n
def p(s):
for i in range(2, int(s.n**0.5) + 1):
if s.n % i == 0:
return 0
return s.n > 1
def f(s):
n, r, d = s.n, [], 2
while d * d <= n:
while n % d == 0:
r += [d]
n //= d
d += 1
return r + [n] if n > 1 else r
def r(s):
t = "소수" if s.p() else "합성수"
print(f'{s.n}은(는) {t}입니다.')
if not s.p():
print(f'{s.n} =', '×'.join(map(str, s.f())))
N(int(input("정수 n 입력: "))).r()