안녕하세요 상자입니다.
개인적으로 문제 풀이 한 내용입니다.
오답이 있을 수 있습니다. 오답이나 오타가 있는 경우에 댓글 남겨주시면 감사드리겠습니다!
3장
01. 다음 코드의 실행 결과를 쓰시오.
a = [0, 1, 2, 3, 4] print(a[:3], a[:-3]) |
[ 정답 ]
0번부터 3번 전까지 0,1,2 3개를 출력 –3 역순으로 4,3,2를 제외하고 2개를 출력
[0, 1, 2] [0, 1]
02) 다음 코드의 실행 결과를 쓰시오.
a = [0, 1, 2, 3, 4] |
[ 정답 ]
:: -1 역으로 다 출력한다
[4 ,3 ,2 ,1 ,0]
03. 다음 코드의 실행 결과를 쓰시오.
first = [“egg”, “salad”, “bread”, “soup”, “canafe”]
|
[ 정답 ]
order안에 first, second, third 3개를 순차적으로 리스트를 가지고 온다.
john = order[0][:-2]는 0번 즉egg이 하나 [:-2]는 역으로 soup이후인 bread부터 0번까지 가지고 온다.
즉 egg, salad, bread 3가지 값을 가지고 온다.
second[1::3]의 경우 1번 값과 3번 값을 가지고 온다. lamb를 가지고 오고 후에 3번 이후에 값을 가지고 오기 때문에 chicken값을 가지고 온다.
third의 값의 경우 0번만 가지고 오기 때문에 apple 값을 가지고 온다.
john의 리스트의 2번째 값을 지웠는데 extend()함수의 경우 새로운 리스트를 기존에 리스트에 추가하는 함수이기 때문에 order함수에서 2번째 즉 third에서 [0:1]는 원소 첫 번째 한 개만 가지고 온다는 의미 이므로 apple값을 가지고 온다.
그러므로 john을 출력하면 아래의 결과 값이 나온다.
[['egg', 'salad', 'bread'], ['lamb', 'chicken'], ['apple']]
04. 다음 코드의 실행 결과를 쓰시오.
list_a = [3,2,1,4] |
[ 정답 ]
[1,2,3,4] None값을 가진다.
b부분에서 sort()함수로 1,2,3,4의 값으로 정렬되고 b는 a값을 저장하지 않았으므로 None값이 나온다.
2021년 01월 28일 추가 설명
현재 문제는 list_a와 list_b를 출력하는 문제입니다.
하지만 list_b의 변수를 자세히 보시면 list_a에 함수를 사용한 값을 저장하는 변수입니다. 파이썬의 경우 함수를 변수에 저장하여 사용할 수 있으며 n번의 횟수를 반복할 경우 효과적으로 하기 위해서 함수 사용한 값을 미리 변수에 저장하여 호출 받는 방법이 있습니다! 그러므로 list_b는 list_a라는 함수를 저장하는 변수이므로 list_a에 대한 정렬 값을 갖는 것뿐이지 다른 값을 갖는 것이 아니므로 None 값이 나옵니다!
05. 다음 코드의 실행 결과를 쓰시오.
a = [5, 7, 3] |
[ 정답 ]
sort함수는 리스트의 요소를 순서대로 정렬하는 함수이다.
c = c.sort()로 정렬하면
c가 재정의 된 것이기 때문에 print(c)를 하는 경우 None값이 나온다.
만약 재정의 한 것이 아니라 그냥 c를 출력했다면 각 원소가 더해지는 값이 아닌. [5,7,3,3,9,1]각 배열의 값들이 더해진 상태로 출력될 것이다.
이후 c.sort()를 사용하면 1,3,3,5,7,9로 좌측부터 우측으로 커지는 값으로 정렬된다.
06. GUI와 CLI의 설명으로 틀린 것은?
① GUI는 Graphical User Interface의 약자이다.
② GUI는 마우스로 아이콘을 클릭하며 프로그램을 작동시키는 컴퓨팅 환경을 말한다.
③ CLI는 Command Line Interface의 약자이다.
④ CLI는 텍스트를 사용하여 컴퓨터에 명령을 입력하는 인터페이스 체계를 말한다.
⑤ CLI는 윈도에서는 불가능하고, 맥 또는 리눅스에서만 터미널로 작동한다.
[ 정답 : 5번 ] - CLI는 모든 운영체제에서 사용 가능하다.
07. 다음 코드의 실행 결과를 쓰시오.
fruits = [‘apple;, ’banana’, ‘cherry’, ‘grape’, ‘orange’, ‘strawberry’, ‘melon’] |
[ 정답 ] - ['orange', 'strawberry', 'melon'] ['banana', 'orange']
08. 다음 코드의 실행 결과를 쓰시오.
num = [1, 2, 3 ,4] |
[ 정답 ] - print(num*2)를 하면 1,2,3,4가 2번 반복된다.
09. 다음 코드의 실행 결과를 쓰시오.
a = [1, 2, 3, 5] |
[ 정답 ] - False 6
10. 다음과 같이 코드를 작성했을 때, 실행 결과로 알맞은 것은?
list_a = ['Hankook', 'University', 'is', 'an', 'academic', 'institute', 'located', 'in', 'South Korea'] |
① None
② Error
③ ['Hankkok', 'is', 'academic', 'located', 'South Korea']
④ ['University', 'an', 'instiute', 'in']
⑤ ['Hankook', 'University', 'is', 'an', 'academic', 'institute', 'located', 'in', 'South Korea']
[ 정답 : 3번 ] - ['Hankook', 'is', 'academic', 'located', 'South Korea']
11. 다음 코드를 실행한 후, 2018과 “2018”을 각각 입력했을 경우 알맞은 실행 결과끼리 묶인 것은?
admission_year = input(“입학 연도를 입력하세요: ”) |
① <class ‘str’>, <class ‘float’>
② <class ‘int’>, <class ‘str’>
③ <class ‘str’>, <class ‘str’>
④ <class ‘int’>, <class ‘int’>
⑤ <class ‘float’>, <class ‘int’>
[ 정답 : 3번 ] - str타입이 두 번 나온다. input의 경우 문자열을 받아서 출력하는 문제이므로.
12. 다음 코드의 실행 결과를 쓰시오.
country = ["Korea", "Japan", "China"] |
[ 정답 ] - ['Korea', 'Japan', 'China', ['Seoul', [2, 3], 'Beijing']]
13. 다음 코드의 실행 결과가 나오도록 빈칸의 알맞은 코드를 쓰시오.
>>>week1 = ["Mon", "Tue", "Wed"] |
[ 정답 ]
Thu와 Fri의 경우 week2에 있는 값이므로 0,1번 값만 나오면 된다. week3에 들어갈 값으로는 아무런 문자가 들어가도 상관이 없으며 공백이 들어가도 문제 되지않는다.
week3 = [“ ”]로 작성했다.
14. 다음 코드를 실행하면 다음과 같은 결과가 나온다. 그 이유에 대해 서술하시오.
>>> a = 1 |
[ 정답 ]
파이썬의 경우 –5부터 256까지의 정수의 숫자를 미리 특정 메모리에 저장하기 때문에 처음에 a와 b가 지정한 1은 이미 값을 가지고 있는 변수에 있는 값을 가리키는 것이므로 True가 나온다.
이후 300으로 a, b의 값을 지정한 경우에는 다른 메모리에 설정해준 것이기 때문에 a is b의 경우 저장된 메모리 위치가 다르기 때문에 False값이 나오고 ==로 하는 경우 값이 같은지를 판단하는 것이기 때문에 True값이 나온다.
15) 다음과 같이 코드를 작성했을 때 예측되는 실행 결과를 쓰고, 이러한 결과가 나오는 이유에 대해 서술하시오.
>>> a = [5, 4, 3, 2, 1] |
[ 정답 ]
공백 1번의 경우는 5,4,3,2,1의 값을 리스트에 저장했는데 b=a를 같다고 초기화를 해줬으므로 하나의 배정받은 동적 메모리에 b도 같은 방향을 가지고 있다는 것을 말한다. 그래서 a is b의 경우는 True값이 나온다.
공백 2번의 경우는 a is c의 경우 같은 리스트 값을 갖고 있는 것 같지만 결국 참조하는 메모리의 위치가 다르기 때문에 False값이 나오게 된다.
'개인 학습용 해설 > 데이터 과학을 위한 파이썬 프로그래밍' 카테고리의 다른 글
데이터 과학을 위한 파이썬 프로그래밍 6장 연습문제 개인풀이 (4) | 2021.02.06 |
---|---|
데이터 과학을 위한 파이썬 프로그래밍 5장 연습문제 개인풀이 (3) | 2021.02.04 |
데이터 과학을 위한 파이썬 프로그래밍 4장 연습문제 개인풀이 (20) | 2020.10.15 |
데이터 과학을 위한 파이썬 프로그래밍 2장 연습문제 개인풀이 (9) | 2020.10.13 |
데이터 과학을 위한 파이썬 프로그래밍 1장 연습문제 개인풀이 (0) | 2020.10.12 |