Python 기초, 자료형 연습문제
본문 바로가기
programming/Python

Python 기초, 자료형 연습문제

by 코딩하는 핑가 2020. 9. 14.
반응형

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

국어 - 80 / 영어 - 75 / 수학 - 55

더보기
a=80
b=75
c=55
print((a+b+c)/3)

>> 70.0

 

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

더보기

13%2==0이면 짝수 / 아니면 홀수

 

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

더보기
hongCode="881120-1068234"
print(hongCode[0:6])
print(hongCode[7:])

 

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

( 문자열 인덱싱 사용 )

>>> pin = "881120-1068234"
더보기
print(pin[7])

 

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

>>> a = "a:b:c:d"
더보기
print(a.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 문자열로 만들어 출력해 보자.

( 문자열의 join 함수를 사용하면 리스트를 문자열로 쉽게 만들 수 있다. )

더보기
a = ['Life', 'is', 'too', 'short']
print(" ".join(a))

>> list = str.split() : 문자열 => 리스트, 공백시 스페이스 기준

>> ” “.join( list ) : 리스트에서 문자열으로

 

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

더보기
a = (1,2,3)
a = a + (4,)
print(a)

 

9. 다음과 같은 딕셔너리 a가 있다. 다음 중 오류가 발생하는 경우를 고르고, 그 이유를 설명해 보자.

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



a['name'] = 'python'
a[('a',)] = 'python'
a[[1]] = 'python'
a[250] = 'python'
더보기

a[[1]]은 리스트로 변하는 값이므로 딕셔너리 키로는 사용할 수 없다.

>> 오류가 발생하는 이유는 딕셔너리의 키로는 변하는(mutable) 값을 사용할 수 없기 때문이다. 위 예에서 키로 사용된 [1]은 리스트이므로 변하는 값이다. 다른 예에서 키로 사용된 문자열, 튜플, 숫자는 변하지 않는(immutable) 값이므로 딕셔너리의 키로 사용이 가능하다.

 

10. 딕셔너리 a에서 'B'에 해당되는 값을 추출해 보자. ( 딕셔너리 pop 함수 사용 )

>>> a = {'A':90, 'B':80, 'C':70}
더보기
a = {'A':90, 'B':80, 'C':70}
print(a.pop('B'))
a = {'A':90, 'B':80, 'C':70}
result = a.pop('B')
print(a)            # {'A':90, 'C':70} 출력
print(result)       # 80 출력

 

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]
a2 = set([1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5])
b = list(a2)
print(b)
a = [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5]
aSet = set(a)     # a 리스트를 집합자료형으로 변환
b = list(aSet)    # 집합자료형을 리스트 자료형으로 다시 변환
print(b)          # [1,2,3,4,5] 출력

 

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

>>> a = b = [1, 2, 3]
>>> a[1] = 4
>>> print(b)
더보기

[1, 4, 3] 출력 / a와 b 둘 다 동일한 [1, 2, 3] 리스트 객체를 가리키고 있기 때문

 

점프 투 파이썬

반응형

댓글