Jump to Python (5)

GreenBean·2021년 3월 29일
0

Jump to Python

목록 보기
5/7
post-thumbnail

Jump to Python - 5

점프 투 파이썬의 예제를 푼 뒤, 그것에 대해 정리한 포스팅

새 창을 통해 점프 투 파이썬 으로 이동


05장 | 파이썬 날개달기

✔ Q1. 위 클래스를 상속하는 UpgradeCalculator를 만들고 값을 뺄 수 있는 minus 메서드를 추가해 보자.

# 1.
class Calculator:
    def __init__(self):
        self.value = 0

    def add(self, val):
        self.value += val

class UpgradeCalculator(Calculator):
    def minus(self, val):
        self.value -= val

cal = UpgradeCalculator()
cal.add(10)
cal.minus(7)
print(cal.value)

# 1.result
3
  • About 1.
    : Calculator를 상속받은 UpgradeCalculator 클래스를 만들어 minus 메소드를 추가하였다.

✔ Q2. 객체변수 value가 100 이상의 값은 가질 수 없도록 제한하는 MaxLimitCalculator 클래스를 만들어 보자.

# 1.
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

cal = MaxLimitCalculator()
cal.add(50)
cal.add(60)
print(cal.value)

# 1.result
100
  • About 1.
    : 위의 예제와 마찬가지로 부모 클래스를 상속받았다. 거기에 overriding 하여 변수가 100을 초과할 때 값을 100으로 고정시키는 if문을 추가하였다.

✔ Q4. filter와 lambda를 사용하여 리스트 [1, -2, 3, -5, 8, -3]에서 음수를 모두 제거해 보자.

# 1.
a = list(filter(lambda x:x>0, [1, -2, 3, -5, 8, -3]))
print(a)

# 1.result
[1, 3, 8]
  • About 1.
    : filter와 lambda를 사용하여 음수를 제거하는 설정을 만들어 주었고 그 변경된 리스트를 a에 담아 출력해보았다.

✔ Q5. '0xea' 라는 16진수 문자열을 10진수로 변경해 보자.

# 1.
a = int('0xea', 16)
print(a)

# 1.result
234
  • About 1.
    : int를 사용하여 16진수 문자열을 10진수로 변경하였다.

✔ Q6. map과 lambda를 사용하여 [1, 2, 3, 4] 라는 리스트의 각 요솟값에 3이 곱해진 리스트 [3, 6, 9, 12]를 만들어 보자.

# 1.
a = list(map(lambda x:x*3, [1, 2, 3, 4]))
print(a)

# 1.result
[3, 6, 9, 12]
  • About 1.
    : map과 lambda를 사용하여 요솟값에 3을 곱해주었고, 새로운 리스트를 a에 담아 출력해 보았다.

✔ Q7. 다음 리스트의 최댓값과 최솟값의 합을 구해 보자. a = [-8, 2, 7, 5, -3, 5, 0, 1]

# 1.
a = [-8, 2, 7, 5, -3, 5, 0, 1]
result = max(a) + min(a)
print(result)

# 1.result
-1
  • About 1.
    : max와 min을 이용하여 리스트 내의 최댓값과 최솟값을 구했다. 그리고 그 둘을 더해 원하는 값을 나타냈다.

✔ Q8. 5.666666666666667을 소수점 4자리까지만 반올림하여 표시해 보자.

# 1.
a = round(17/3, 4)
print(a)

# 1.result
5.6667
  • About 1.
    : round를 통해 원하는 소수점 자릿수만큼 값을 출력하였다.
profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 댓글