Language/Python

[점프투파이썬]2장 연습문제

림밤빵 2020. 12. 27. 19:01
728x90

PyCharm을 이용하여 연습문제를 풀어보자.

 

Q1. 

과목명도 함께 기억하고 싶어 딕셔너리 자료형을 이용하여 저장하였다.

각 과목 점수를 더한 다음 3으로 나눠서 average에 저장하였다.

print함수를 통해 평균값을 출력하였다.

%0.1f로 실수로 표현하고 소수점 1번째 자리까지 출력하였다.

a = {'국어': 80, '영어': 75, '수학': 55}
average = (a['국어'] + a['영어'] + a['수학'])/3
print("홍길동씨의 평균 점수는 %0.1f점 입니다." %average)

Q1 출력 결과

Q2.

나머지 연산자를 이용하면 된다.

%2를 하여 나머지가 0이면 짝수이고, 1이면 홀수이다.

 

Q3.

문자열로 주민등록번호를 RNN변수에 저장하였다.

문자열 슬라이싱 기법을 이용해 주민등록번호 앞부분과 뒷부분을 나눠서 출력하였다.

문자열로 저장을 하였으므로 %s를 이용하였다.

RRN = "881120-1068234"

print("연월일: %s " %RRN[:6])
print("뒷부분: %s " %RRN[7:])

Q3 출력 결과

 

Q4.

파이썬은 0부터 시작하므로 성별을 나타내는 숫자는 인덱스 7번에 저장되어 있다.

이를 print함수를 이용하여 출력하였다.

문자열로 저장을 했으므로 %s를 이용하여 출력한다.

pin = "881120-1068234"
print("뒷자리의 맨 첫 번째 숫자: %s " %pin[7])

Q4 출력 결과

 

Q5.

문자열의 내장함수 replace를 이용하여 ":"을 "#"으로 변경하여 출력하였다.

a = "a:b:c:d"
print(a.replace(":", "#"))

Q5 출력 결과

 

Q6.

리스트의 내장함수 sort와 reverse를 이용하였다.

sort로 정렬을 먼저 해준 후, reverse로 순서를 거꾸로 하였다.

list = [1, 3, 5, 4, 2]
list.sort()
list.reverse()

print(list)

Q6 출력 결과

 

Q7.

join함수를 이용해 리스트를 문자열로 만들면서 각 단어 사이에 띄어쓰기를 추가하였다.

print함수를 이용해 문자열을 출력하였다.

list = ['Life', 'is', 'too', 'short']
letter = " ".join(list)
print(letter)

Q7 출력 결과

 

Q8.

튜플 t1, t2를 만들고 +로 튜플을 합쳐서 출력하였다.

t1 = (1, 2, 3)
t2 = (4,)
print(t1+t2)

Q8 출력 결과

 

Q9.

딕셔너리의 Key는 변하지 않는 값을 사용해야 하지만, 리스트는 삽입, 삭제, 수정이 가능하다.

따라서 a[[1]] = 'python' 의 경우 오류가 발생한다.

 

Q10.

딕셔너리 내장 함수인 pop을 이용하여 B의 value값을 출력 하였다.

a를 한 번 더 출력 해보면 B쌍이 사라진 것을 확인 할 수 있다. 

a = {'A':90, 'B':80, 'C':70}
print(a.pop('B'))
print(a)

Q10 출력 결과

 

Q11.

리스트를 집합으로 바꾸면 중복 값이 사라지게 된다.

파이썬 내장 함수인 set을 이용하여 중복 값을 제거하여 출력 하였다.

a = [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5]
print(set(a))

Q11 출력 결과

 

Q12.

파이썬에서 동일한 값에 여러 개의 변수를 선언하면 변수들은 그 값을 가진 메모리 주소를 가리킨다.

따라서 a에서 값을 변경하게 되면 해당 주소의 값을 변경하는 것이므로 b의 요소 또한 변경 된다.

 

728x90