안녕하세요. 이 포스팅은 개인적인 풀이이며 해설지가 없습니다. 또한 주관적인 개념으로 풀이된 포스팅이므로 오답이 있을 수 있습니다. 오답이라 생각하시는 경우 댓글을 남겨주시면 감사드리겠습니다.
이 주제에 대해서 댓글을 확인 후 포스팅을 이번 주 내로 진행하려 하지는 않았지만 문의해주신 내용을 처음에 포스팅 해드리기로 말씀을 드렸기에 다른 사람들도 구글링으로 확인할 수 있도록 공개 포스팅을 진행합니다.
앞으로는 지식 공유를 위한 포스팅이 아닌 개인적으로 중간, 기말고사 평가와 같이 반영되는 이익을 위해 개인의 해설지를 만들어 달라는 요청은 정중하게 거절드립니다.
1. 정답 4번
해설 파이썬에서 **는 제곱을 의미한다.
마이너스 연산을 위해서는 -=가 올바른 문법이 된다.
순서대로 ** % -= 'dict'가 된다.
2. 정답 2번
해설 set을 활용하면 저장된 값의 중복된 값을 제거한다.
{0, 1, 3, 4, 5, 7, 8}의 값이 나옵니다.
총 7개의 0, 1, 2, 3, 4, 5, 6가 나옵니다.
리스트는 [1:5]는 1번부터 5번 전까지 나옵니다.
1(1번), 3(2번), 4(3번), 5(4번) 그러므로 정답이 1, 3, 4, 5가 됩니다.
3. 정답 (가) - 스택(Stack) (나) - 큐(Queue) (다) - 튜플(Tuple) (라) - 세트(set)
해설 개념이 263page를 참조하는 것이 좋습니다.
4. 정답
1번 빈칸) dict_values([1,82,86,81])
2번 빈칸) {'Aemerica':1,'Korea':82,'china':86,'Japan':81}
3번 빈칸) dict_keys(['Aemerica','Korea','China','Japan'])
4번 빈칸) False
5번 빈칸) True
해설
1번 빈칸 : values()을 사용하기 때문에 딕셔너리 형인 country_code의 키의 값들만 출력해 줍니다.
2번 빈칸 : 저장된 값을 모두 출력해 줍니다.
3번 빈칸 : keys() 함수를 사용하면 딕셔너리 country_code의 키들을 확인할 수 있습니다.
4번 빈칸 : 코드 안에 85의 값이 존재하지 않으므로 거짓 False이 나옵니다.
5번 빈칸 : 코드 안에 Korean라는 키가 있으므로 True값이 나옵니다.
5. 정답 문제는 다양한 다른 접근 방법이 존재할 수 있습니다. 반드시 제 풀이가 정답은 아닙니다.
가) 값
나) 공백
다) str("")
라) {1, 2, 3, 4, 5, 7}
해설
가) 변수 a에 저장되는 값이 가장 적절한 것 같아서 값이라 작성했습니다.
나) 문자열로 인식하지 않고 공백으로만 인식했기 때문에 안에 값을 넣거나 str을 사용한 문자열로 반환해 줘야 합니다.
다) "" 초기화를 문자열로 인식할 수 있도록 변경해 줍니다. str("")
라) 세트로 인하여 중복된 값이 제거되므로 {1, 2, 3, 4, 5, 7}가 나옵니다.
6. 정답 4번
해설 False가 나옵니다. 문제는 2016.0을 비교하는 문제입니다.
element 값에 실수로 변환해서 저장된 값은 2016.0이 맞지만 list_data안에 '2016.0'은 문자열로 저장됐습니다. 1은 숫자지만 2016.0은 문자열로 취급하므로 문자열과 실수형을 비교했을 때 if참이 아닌 거짓이 되므로 False가 나옵니다.
7. 정답 3번
해설 문제는 set 함수를 사용해서 리스트[] 1, 2, 3, 4를 중괄호{}로 감싸게 해주는 문제이다.
8. 정답 1번
해설 a리스트에 저장된 값 4개 중 0번 리스트는 3입니다. 꺼낸 후 "apple", 2016, 4가 남는데 여기서 c 변수에 0번, 1번, 2번 요소 중 1번을 출력하여 변수에 저장됩니다. b+c의 값을 연산하면 2019이 나옵니다.
9. 정답 19
해설 문제의 week_seven 함수에서 set함수를 사용하여 중복된 값을 제거 또한 replace를 통하여 공백을 제거했습니다. 이후 lower함수를 사용하여 영단어를 모두 소문자로 변경했습니다.
print 함수에서 a변수와 b변수의 길이의 차이만큼 값을 내는 문제이므로 19가 나옵니다.
10. 정답 1번
해설 tuple_1과 tuple_2의 변수를 quiz_1 함수에서 data_1과 data_2로 변수를 받아옵니다.
이후 리스트 변수 result에 길이만큼 튜플 1과 2의 값들이 순서대로 저장됩니다.
11. 정답 4
해설 dict_2에 딕셔너리 함수를 선언해 줬습니다.
다음 반복문 for에서 키값을 가진 dict_keys 변수의 길이를(0부터 5까지) 반복합니다.
dict_2 = {1: 2, 2: 4, 3: 6, 4: 8, 6: 10}의 값이 저장됩니다.
총 5개의 키와 변수를 갖게 됩니다. 이때 dict_1의 초깃값에 저장된 key와 values 값이 서로 바꿔서 dict_2에서 저장했기 때문에 dict_2의 요소 2의 값은 4가 됩니다.
12. 정답 4번
해설 animal과 legs 변수가 딕셔너리 파일로 매핑되는 문제이므로 첫 요소끼리 묶음으로 보면 됩니다.
13. 정답
(1,2,3,1,2,3)
(1,2,3,1,2,3)
(1,2,3)(1,2,3)
해설 t튜플의 경우 값을 변경할 수 없으므로 t + t의 경우 합이 아닌 연결된 상태로 값이 나옵니다.
t*2은 반복된 값이 나옵니다.
t, t로 지정하는 경우 서로 다른 단락으로 인지하여 각 튜플이 출력됩니다.
14. 정답 10
해설 Copy 변수는 Mydict 변수의 값을 참조하고 있습니다. Mydict의 1번 요소의 값(values)을 5로 변경한 경우 Copy 역시 참조되는 값이므로 1번 요소의 값이 5로 변경됩니다. 따라서 연산을 진행하면 result에 5+5가 되므로 값은 10이 나옵니다.
15. 정답 ?Yoeu MLo ve
해설 변수 sentence에 저장된 리스트 You Love Me? 값을 result를 통하여 저장하려 합니다. 이때 sentence 문자열의 길이만큼 반복되며 3의 배수인 경우 pop함수를 요소지정 없이 사용하므로 맨 뒤의 요소 값을 갖고 와서 result의 값에 대입됩니다. i는 처음 시작 값이 0이므로 맨 뒤에 ?의 값을 갖고 올 수 있게 됩니다.
이후 i가 3의 배수가 아닌 경우에는 0번 요소에 있는 값을 갖고 옵니다. i=1일 때 Y를 갖고 옵니다. i=2 o, i=3 e,... 그렇게 정답이 ?Yoeu MLo ve가 나오게 됩니다.
16. 정답 14
해설 number 리스트 안에서 5개 요소를 꺼냈습니다.
pop은 맨 뒤에 요소를 출력하고 pop안에 리스트의 번호를 지정하는 경우. 값을 원하는 요소에서 찾아옵니다. 그러므로 0번, 지정X, 1번, 지정X, 0번을 pop연산을 한 경우 result안에 5개의 요소가 [5,4,7,3,6]의 값을 갖게 됩니다.
이후 number 요소에서 result = [5, 4, 7, 3, 6]를 제외한 값을 다시 정리하면 number = [8, 9, 1, 2]가 됩니다. number의 0번 요소 8과 result의 -1번 요소 6이 더해지면 14가 나옵니다.
17. 정답 [0,1,2,3,4,5,6,7,8,9]
해설 a 변수에 0부터 9까지 총 10개의 요소가 저장됐습니다.
다음 라인에서 a에 3값을 append 함수를 통하여 추가합니다. [0,1,2,3,4,5,6,7,8,9,3]
pop[3]에서 요소를 지정했기 때문에 0, 1, 2, 3 즉 4번째 요소인 3을 꺼내줍니다.
3번째 위치에 요소의 맨 뒤 값인 3을 insert 즉 추가하는 함수를 사용합니다.
이후 a.pop() 연산을 통해 맨 뒤에 3의 값을 제거하면 초깃값인 0~9까지 값이 저장되어 있습니다.
18. 정답 6
해설 box 리스트 안에서 len 함수를 사용하여 길이를 측정하면 각 요소가 카운팅 되면서 6이 나온다.
19. 정답
(1,)
[1]
error
error
a
a
해설
문제에서는 예외 처리를 병행해서 출력을 진행했습니다.
첫 번째 반복문에서 (1,), [1], error가 출력됩니다.
두 번째 반복문에서 error, a, a가 출력됩니다.
1번 반복문에서는 one과 two에서 정산적으로 출력되므로 각 키의 값들을 불러옵니다. three에서는 키 벨류 값을 :1로 갖고 올 수 없어서 error가 발생합니다.
2번 반복문에서는 [-1]로 인하여 뒤에서부터 값을 출력하는데 three는 four와 five로 키값을 갖고 있으므로 error가 발생하므로 예외 처리가 출력됩니다.
첫 반복문이 끝난 이후 두 번째 반복문이 진행되므로 다음의 답이 나옵니다.
20. 정답 {'A':'San', 'B':'Sarch', 'C':'Jane', 'D':'John'}
해설
class_category와 student_category의 값들을 class_student_cate를 통해서 하나의 딕셔너리 파일로 만듭니다.
class_category가 keys의 위치에 student_category가 values의 위치에 존재하므로 둘의 값이 각각 1:1로 맞춰집니다.
'개인 학습용 해설 > 데이터 과학을 위한 파이썬 프로그래밍' 카테고리의 다른 글
데이터 과학을 위한 파이썬 프로그래밍 6장 연습문제 개인풀이 (4) | 2021.02.06 |
---|---|
데이터 과학을 위한 파이썬 프로그래밍 5장 연습문제 개인풀이 (3) | 2021.02.04 |
데이터 과학을 위한 파이썬 프로그래밍 4장 연습문제 개인풀이 (20) | 2020.10.15 |
데이터 과학을 위한 파이썬 프로그래밍 3장 연습문제 개인풀이 (4) | 2020.10.14 |
데이터 과학을 위한 파이썬 프로그래밍 2장 연습문제 개인풀이 (9) | 2020.10.13 |