## 점프 투 파이썬 - 5장 연습문제 ( 1 )
출처 : https://wikidocs.net/42529
# Q1. Calculator 클래스를 상속하는 UpgradeCalculator를 만들고 값을 뺄 수 있는 minus 메서드를 추가해 보자. 즉 다음과 같이 동작하는 클래스를 만들어야 한다.
class Calculator:
def __init__(self):
self.value = 0
def add(self, val):
self.value += val
-----------------------------
cal = UpgradeCalculator()
cal.add(10)
cal.minus(7)
print(cal.value) # 10에서 7을 뺀 3을 출력
# 풀이
class UpgradeCalculator(Calculator):
def minus(self, val):
self.value -= val
Calculator 클래스를 상속하여 minus를 추가
# Q2. 객체변수 value가 100 이상의 값은 가질 수 없도록 제한하는 MaxLimitCalculator 클래스를 만들어 보자. 즉 다음과 같이 동작해야 한다. 단 반드시 다음과 같은 Calculator 클래스를 상속해서 만들어야 한다.
cal = MaxLimitCalculator()
cal.add(50) # 50 더하기
cal.add(60) # 60 더하기
print(cal.value) # 100 출력
-----------------------------
class Calculator:
def __init__(self):
self.value = 0
def add(self, val):
self.value += val
# 풀이
class MaxLimitCalculator(Calculator):
def add(self, val):
self.value += val
if self.value > 100:
self.value = 100
100이 넘어버리면 100으로 제한하게 한다.
# Q3. 다음 결과를 예측해 보자.
1.
>>> all([1, 2, abs(-3)-3])
2.
>>> chr(ord('a')) == 'a'
# 풀이
1. False
-3은 절댓값이 된다. 그러므로 3 all( [ 1, 2, 0 ] )이 된다.
근데 리스트의 요솟값 중 0이 있으므로 all은 False가 된다.
2. True
ord('a')는 97이다. chr(97)은 a다. 그래서 같다.
# Q4. filter와 lambda를 사용하여 리스트 [1, -2, 3, -5, 8, -3]에서 음수를 모두 제거해 보자.
# 풀이
>>> list(filter(lambda x:x>0, [1, -2, 3, -5, 8, -3]))
[1, 3, 8]
리스트를 필터로 0보다 큰것만 필터링 한다.
# Q5. 234라는 10진수의 16진수는 다음과 같이 구할 수 있다.
>>> hex(234)
'0xea'
이번에는 반대로 16진수 문자열 0xea를 10진수로 변경해 보자.
# 풀이
int('0xea', 16) >>> 234
int 내장 함수를 사용하면 된다.
# Q6. map과 lambda를 사용하여 [1, 2, 3, 4] 리스트의 각 요솟값에 3이 곱해진 리스트 [3, 6, 9, 12]를 만들어 보자.
# 풀이
>>> list(map(lambda x:x*3, [1,2,3,4]))
[3, 6, 9, 12]
입력에 항상 3을 곱하여 돌려준다.
'코딩공부 > 점프 투 파이썬' 카테고리의 다른 글
## 점프 투 파이썬 - 정규 표현식 살펴보기 (0) | 2020.03.22 |
---|---|
## 점프 투 파이썬 - 5장 연습문제 ( 2 ) (0) | 2020.03.22 |
## 점프 투 파이썬 - 하위 디렉터리 검색하기 (0) | 2020.03.08 |
## 점프 투 파이썬 - 탭을 4개의 공백으로 바꾸기 (0) | 2020.03.08 |
## 점프 투 파이썬 - 간단한 메모장 만들기 (2) | 2020.02.29 |