점프투파이썬_07_연습문제

yh271·2022년 5월 14일
0

점프투파이썬

목록 보기
6/7
  1. 홍길동 씨의 과목별 점수는 다음과 같다. 홍길동 씨의 평균 점수를 구해 보자.
    국어: 80, 영어: 75, 수학: 55
>>> kor = 80
>>> eng = 75
>>> math = 55
>>> score = (kor + eng + math)/3
>>> score
70.0
  1. 자연수 13이 홀수인지 짝수인지 판별할 수 있는 방법에 대해 말해 보자.
# 홀수이다.
>>> 13 % 2
1
  1. 홍길동 씨의 주민등록번호는 881120-1068234이다. 홍길동 씨의 주민번호를 연월일(YYYYMMDD)부분과 그 뒤의 숫자 부분으로 나누어 출력해 보자.
#q1.py

pin = "881120-1068234"
yyyymmdd = pin[:6]
num = pin[7:]
print(yyyymmdd)
print(num)

실행결과

PS C:\Users\user> & C:/Users/user/AppData/Local/Programs/Python/Python38/python.exe c:/doit/multistring.py
19881120
1068234
  1. 주민등록번호 뒷자리의 맨 첫번째 숫자는 성별을 나타낸다. 주민등록번호에서 성별을 나타내는 숫자를 출력해 보자.
#q1.py

pin = "881120-1068234"
gender = pin[7]
print(gender)

실행결과

PS C:\Users\user> & C:/Users/user/AppData/Local/Programs/Python/Python38/python.exe c:/doit/multistring.py
1
  1. 다음과 같은 문자열 a:b:c:d가 있다. 문자열의 replace 함수를 사용하여 a#b#c#d로 바꿔서 출력해 보자
#q1.py

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

실행결과

PS C:\Users\user> & C:/Users/user/AppData/Local/Programs/Python/Python38/python.exe c:/doit/multistring.py
a#b#c#d
  1. [1, 3, 5, 4, 2] 리스트를 [5, 4, 3, 2, 1]로 만들어 보자.
#q1.py

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

실행결과

PS C:\Users\user> & C:/Users/user/AppData/Local/Programs/Python/Python38/python.exe c:/doit/multistring.py
[5, 4, 3, 2, 1]
  1. ['Life','is','too','short'] 리스트를 Life is too short 문자열로 만들어 출력해보자.
#q1.py

a = ['Life', 'is', 'too', 'short']
result = ' '.join(a)
print(result)

실행결과

PS C:\Users\user> & C:/Users/user/AppData/Local/Programs/Python/Python38/python.exe c:/doit/multistring.py
Life is too short
  1. (1,2,3)튜플에 값 4를 추가하여 (1,2,3,4)를 만들어 출력해보자.
#q1.py

a = (1,2,3)
a = a + (4,)
print(a)

실행결과

PS C:\Users\user> & C:/Users/user/AppData/Local/Programs/Python/Python38/python.exe c:/doit/multistring.py
(1, 2, 3, 4)
  1. 다음과 같은 딕셔너리 a가 있다.
>>> a = dict()
>>> a
{}

다음 중 오류가 발생하는 경우를 고르고, 그 이유를 설명해 보자.
1) a['name'] = 'python'
2) a[('a',)] = 'python'
3) a[[1]] = 'python'
4) a[250] = 'python'

---> 3) 오류가 발생하는 이유는 딕셔너리의 키로는 변하는(mutable) 값을 사용할 수 없기 때문이다. [1]이라는 리스트는 변하는 값이기 때문이다.
실행결과

1) 	>>> a['name'] = 'python'
	>>> a
	{'name': 'python'}
2) 	>>> a[('a',)] = 'python'
	>>> a
	{('a',): 'python'}
3) 	>>> a[[1]] = 'python'
	Traceback (most recent call last):
  	File "<stdin>", line 1, in <module>
	TypeError: unhashable type: 'list'
4) 	>>> a[250] = 'python'
	>>> a
	{250: 'python'}
  1. 딕셔너리 a에서 'B'에 해당되는 값을 추출해 보자.
#q1.py

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

pop(x)은 리스트의 x번째 요소를 돌려주고 그 요소는 삭제한다.
pop()은 리스트의 마지막 요소를 돌려주고 그 요소는 삭제한다.

실행결과

PS C:\Users\user> & C:/Users/user/AppData/Local/Programs/Python/Python38/python.exe c:/doit/multistring.py
{'A': 90, 'C': 70}
80
  1. a 리스트에서 중복 숫자를 제거해 보자.
#q1.py

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

실행결과

PS C:\Users\user> & C:/Users/user/AppData/Local/Programs/Python/Python38/python.exe c:/doit/multistring.py
{1, 2, 3, 4, 5}

집합 자료형 참고 : https://velog.io/@yh271/jumptopython04

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

a나 b나 똑같은 값이 나온다.
그 이유는

>>> a = b = [1,2,3]
>>> id(a)
2194056644480
>>> id(b)
2194056644480

위와 같이 똑같은 객체를 가리키기 때문이다.

0개의 댓글