Preface
자료형과 관련된 몇 가지의 연습문제를 풀어봤다.
중간중간 해설지의 힘을 빌린 한 두 문제를 제외하면 대부분 혼자 힘으로 해결한 것 같다.
물론 아주 간단한 문제들이었지만, 막상 문제를 풀고 나니 생각보다 더욱 뿌듯했고 지금껏 진행해 온 공부 방식에 대한 확신도 생겼다.
아직 배워야 할 내용들이 산더미처럼 많지만, 앞으로도 지금처럼 자신감을 갖고 노력하면 무엇이든 해낼 수 있을 것 같다.
1. 홍길동 씨의 과목별 점수는 다음과 같다. 홍길동 씨의 평균 점수를 구해 보자.
- 국어 : 80
- 영어 : 75
- 수학 : 55
→ 답안
import statistics
점수 = [80, 75, 55]
print(statistics.mean(점수))
→ 해설 : 해설에선 세 값을 더한 후 직접 나누었지만, 나는 statistics 모듈을 사용해 값을 구했다.
2. 자연수 13이 홀수인지 짝수인지 판별할 수 있는 방법에 대해 말해 보자
→ 답안
print(13%2)
→ 해설 : 답안과 동일(나머지 연산자 사용)
3. 홍길동 씨의 주민등록번호는 881120-1068234이다. 홍길동 씨의 주민등록번호를 연월일(YYYYMMDD) 부분과 그 뒤의 숫자 부분으로 나누어 출력해 보자.
→ 답안
pin = ('881120-106824')
print('연월일:',pin[:6])
print('그 외:',pin[7:])
→ 해설 : 답안과 동일
4. 주민등록번호 뒷자리의 맨 첫 번째 숫자는 성별을 나타낸다. 주민등록번호에서 성별을 나타내는 숫자를 출력해 보자.
>>> pin = "881120-1068234"
→ 답안
pin = ('881120-106824')
print('성별을 나타내는 숫자:',pin[7])
→ 해설 : 답안과 동일
5. 다음과 같은 문자열 a:b:c:d가 있다. 문자열의 replace 함수를 사용하여 a#b#c#d로 바꿔서 출력해 보자.
>>> a = "a:b:c:d"
→ 답안
a = "a:b:c:d"
print('a:b:c:d'.replace(':','#'))
→ 해설 : 답안과 동일
6. [1, 3, 5, 4, 2] 리스트를 [5, 4, 3, 2, 1]로 만들어 보자.
→ 답안
a = [1,3,5,4,2]
a.sort()
a.reverse()
print(a)
→ 해설 : 답안과 동일
7. ['Life', 'is', 'too', 'short'] 리스트를 Life is too short 문자열로 만들어 출력해 보자.
→ 답안
a = ['Life','is','too','short']
result = " ".join(a)
print(result)
→ 해설 : join 함수가 요소들 사이에 특정 값을 삽입한다는 것은 알고 있었지만, 리스트에 있는 요소들을 합칠 때 사용한다는 것은 생각하지 못했다.
8. (1,2,3) 튜플에 값 4를 추가하여 (1,2,3,4)를 만들어 출력해 보자.
→ 답안
t1 = (1,2,3)
t1 = t1 + (4,)
print(t1)
→ 해설 : 튜플에 요소를 추가할 땐 마지막 요소엔 콤마(,)를 포함해야 한다는 것을 까먹었다.
9. 다음과 같은 딕셔너리 a가 있다.
>>> a = dict()
>>> a
{}
다음 중 오류가 발생하는 경우를 고르고, 그 이유를 설명해 보자.
a['name'] = 'python'
a[('a',)] = 'python'
a[[1]] = 'python'
a[250] = 'python'
→ 답안 : 3번은 값이 변하는 리스트 형태이므로 딕셔너리의 키로 사용할 수 없다.
10. 딕셔너리 a에서 'B'에 해당되는 값을 추출해 보자.
>>> a = {'A':90, 'B':80, 'C':70}
→ 답안
a = {'A':90, 'B':80, 'C':70}
print(a['B'])
print(a.pop('B')) # 값 반환 후 삭제
→ 해설 : 답안과 동일
11. a 리스트에서 중복 숫자를 제거해 보자.
>>> a = [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5]
→ 답안
a = [1,1,1,2,2,3,3,3,4,4,5]
s1 = set(a)
print(s1)
→ 해설 : 나는 리스트를 집합으로 변환한 결과만을 출력했지만, 해설에선 변환된 집합을 다시 리스트로 변환하여 출력하는 과정까지 진행되어 있다.
a = [1,1,1,2,2,3,3,3,4,4,5]
s1 = set(a)
l1 = list(s1)
print(l1)
12. 파이썬은 다음처럼 동일한 값에 여러 개의 변수를 선언할 수 있다. 다음과 같이 a, b 변수를 선언한 후 a의 두 번째 요솟값을 변경하면 b 값은 어떻게 될까? 그리고 이런 결과가 오는 이유에 대해 설명해 보자.
>>> a = b = [1, 2, 3]
>>> a[1] = 4
>>> print(b)
→ 답안 : a와 b는 같은 값과 메로리 주소를 가진 변수이므로 위 코드에서 print(b)를 실행하면 [1, 4, 3]의 값이 출력된다.
→ 해설 : 답안과 동일
출처 : 02장 연습문제 - 점프 투 파이썬 (wikidocs.net)
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
'Python > 점프 투 파이썬' 카테고리의 다른 글
while문 (0) | 2021.08.17 |
---|---|
if문 (0) | 2021.08.16 |
집합 자료형, 불 자료형, 변수 (0) | 2021.08.12 |
튜플 자료형, 딕셔너리 자료형, 딕셔너리 함수 (1) | 2021.08.11 |
리스트 자료형, 리스트 함수 (0) | 2021.08.10 |
댓글