본문 바로가기

파이썬/Do it! 점프 투 파이썬

점프 투 파이썬 2장 연습 문제 / 2021.07.29

1. 홍길동 씨의 과목별 점수는 다음과 같다. 홍길동 씨의 평균 점수를 구해 보자.

1
2
3
4
5
6
7
# 1번
kor = 80
eng = 75
mat = 55
hap = kor + eng + mat
average = hap / 3
print(average)
cs


2. 자연수 13이 홀수인지 짝수인지 판별할 수 있는 방법에 대해 말해 보자.

1
2
3
4
5
6
7
8
# 2번
# 나눗셈 연산자를 사용하면 된다
# 2로 나누었을때 답이 0 이면 짝수 1이면 홀수
num = 13
if(num % 2 ==0):
    print('짝수')
else:
    print('홀수')
cs


3. 홍길동 씨의 주민등록번호는 881120-1068234이다. 홍길동 씨의 주민등록번호를 연월일(YYYYMMDD) 부분과 그 뒤의 숫자 부분으로 나누어 출력해 보자.

1
2
3
4
5
6
7
# 3번
pin = "881120-1068234"
yyymmdd = pin[0:6]
num = pin[7:14]
print(yyymmdd)
print(num)
 
cs


4. 주민등록번호 뒷자리 맨 첫 번째 숫자는 성별을 나타낸다. 주민등록번호에서 성별을 나타내는 숫자를 출력해 보자.

1
2
3
# 4번
pin = "881120-1068234"
print(pin[7])
cs


5. 다음과 같은 문자열 a:b:c:d가 있다. 문자열의 replace 함수를 사용하여 #a#b#c#d로 바꿔서 출력해 보자.

1
2
3
4
# 5번
= "a:b:c:d"
= a.replace(":""#")
print(b)
cs


6. [1, 3, 5, 4, 2] 리스트를 [5, 4, 3, 2, 1]로 만들어 보자.

1
2
3
4
5
6
# 6번
= [13542]
a.sort()
print(a)
a.sort(reverse=True)
print(a)
cs


7. ['Life', 'is', 'too', 'short'] 리스트를 Life is too short 문자열로 만들어 출력해 보자.

1
2
3
4
5
# 7번
= ['Life''is''too''short']
result = " ".join(a)
print(result)
 
cs


8. (1,2,3) 튜플에 값 4를 추가하여 (1,2,3,4)를 만들어 출력해 보자.

1
2
3
4
# 8번
= (123)
= a + (4, )
print(a)
cs


9. 다음과 같은 딕셔너리 a가 있다.

>>> a = dict( )
>>> a
{ }

다음 중 오류가 발생하는 경우를 고르고, 그 이유를 설명해 보자.

③ 딕셔너리의 키로는 변하는 값을 사용할 수 없다. [1]은 리스트이므로 변하는 값이다.
문자열, 튜플, 숫자는 변하지 않는 값이므로 딕셔너리의 키로 사용 가능하다.

10. 딕셔너리 a에서 'B'에 해당되는 값을 추출해 보자.

1
2
3
4
5
# 10번
= {'A':90'B':80'C':70}
result = a.pop('B')
print(a)
print(result)
cs


11. a 리스트에서 중복 숫자를 제거해 보자.

1
2
3
4
5
6
7
# 11번
= [11122333445]
aSet = []
for i in a:
    if i not in aSet:
       aSet.append(i)
print(aSet)
cs


12. 파이썬은 다음처럼 동일한 값에 여러 개의 변수를 선언할 수 있다. 다음과 같이 a, b 변수를 선언한 후 a의 두 번째 요솟값을 변경하면 b값은 어떻게 될까? 그리고 이런 결과가 나오는 이유에 대해 설명해 보자.

1
2
3
4
5
6
7
# 12번
= b = [123]
a[1= 4
print(a)  # [1, 4, 3]
print(b)  # [1, 4, 3]
#a, b = [1, 2, 3] , [1, 2, 3]
# 이런식으로 선언하면 a 요소값이 변해도 b는 안변함
cs