728x90
반응형

2장 되새김문제 p.116~p.119

 

# 1. 평균 점수 구하기
a, b, c = 80, 75, 55
d = a+b+c
e = d / 3
print(e)
70.0

# 2. 홀수,짝수 판별하기
# 자연수 13이 홀수인지, 짝수인지 판별할 수 있는 방법에 대해 말해 보자.
a = 13 % 2
print(a)
# 짝수로 나누었을때 나머지가 있으면 홀수이다.


# 3. 주민등록번호 나누기
# 홍길동 씨의 주민등록번호는 881120-1068234 이다. 

홍길동 씨의 주민등록번호를 연월일(YYYYMMDD)부분과 그 뒤의 숫자 부분으로 나누어 출력해보자.
pin = "881120-1068234"
yyyymmdd = pin[:6]
num = pin[7:]
print(yyyymmdd)
print(num)


# 4. 주민등록번호 인덱싱
# 주민등록번호 뒷자리의 맨 첫 번째 숫자는 성별을 나타낸다. 

주민등록번호에서 성별을 나타내는 숫자를 출력해보자.
pin = "881120-1068234"
print(pin[7])

# 5. 문자열 바꾸기
# 다음과 같은 문자열 a:b:c:d가 있다. 문자열의 replace함수를 사용하여 a#b#c#d로 바꿔 출력해보자.
a = "a:b:c:d"
b = a.replace(":","#")
print(b)

# 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 = a.join()  # --> 답: result = " ".join(a)
print(result)


# 8. 튜플 더하기
# (1,2,3) 튜플에 값 4를 추가하여 (1,2,3,4)를 만든 후 출력해 보자.
a = (1,2,3)
a = a + b(4) # --> 답: a = a + (4,)
print(a)
# a 튜플에 (4,)라는 튜플을 더하면 된다. 단, 이 때 만들어지는 a+(4,)의 결과는 a 값이 변경되는 것이 아니라(튜플은 그 값을 변경할 수 없다) 새로운 튜플이 생성되고 그 값이 a 변수에 대입되는 것임을 유념하자.

# 9. 딕셔너리의 키
# 다음과 같은 딕셔너리 a가 있다.
# a = dict()
# a
# {}

# 다음 중 오류가 발생하는 경우를 고르고, 그 이유를 설명해 보자.
# a['name'] = 'python'
# a[('a',)] = 'python'
# a[[1]] = 'python' --> 딕셔너리의 키로 변하는 값을 사용할 수 없기 때문이다. 여기서 키로 사용된 [1]은 리스트 이므로 변하는 값이다. 다른 예에서 키로 사용된 문자열, 튜플, 숫자형은 변하지 않는 값이므로 딕셔너리의 키로 사용이 가능하다.
# a[250] = 'python'


# 10. 딕셔너리 값 추출하기
# 딕셔너리 a에서 'B'에 해당하는 값을 추출해 보자.
a = {'A':90, 'B':80, 'C':70}
result = a.pop(1) # --> 답: result = a.pop('B')
print(a)
print(result)

# 11. 리스트에서 중복 제거하기
# a 리스트에서 중복 숫자를 제거해 보자.
a = [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5]
aSet = set(a)
b = list(aSet)
print(b)

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

# b = [1,2,3] 객체의 주소값이 다르기 때문에
# --> 답: [1,4,3]이 출력된다. a와b 변수는 모두 동일한 [1,2,3]이라는 리스트 객체를 가리키고 있기 때문이다.

반응형

+ Recent posts