본문 바로가기

과제

[파이썬 실시간 강의] 220914 과제4


 

1번

 

class Calc():
    def set_number(self, num1, num2):
        self.num1 = num1
        self.num2 = num2

    def plus(self):
        result = self.num1+self.num2
        return result

    def minus(self):
        result = self.num1 - self.num2
        return result

    def multiple(self):
        result = self.num1 * self.num2
        return result

    def divide(self):
        result = self.num1 / self.num2
        return result

calc = Calc() # 인스턴스 생성

while True: # 사용자의 입력값 검증
    try:
        num1 = int(input('첫 번째 숫자를 입력해주세요. '))
        num2 = int(input('두 번째 숫자를 입력해주세요. '))
        calc.set_number(num1, num2)  # 인스턴스(calc)에서 set_number 메소드를 호출, 사칙연산할 값을 받음
        break

    except ValueError:
        print('[주의] 숫자만 입력 가능합니다.')

print('더한 값:', calc.plus())
print('뺸 값:', calc.minus())
print('곱한 값:', calc.multiple())
try:
    print('나눈 값:', calc.divide())
except ZeroDivisionError:
    print('[주의] 0으로 나눌 수 없습니다.')

 

실행 화면


 

2번

 

from pprint import pprint

people = [
    ("Blake Howell", "Jamaica", 18, "aw@jul.bw"),
    ("Peter Bowen", "Burundi", 30, "vinaf@rilkov.il"),
    ("Winnie Hall", "Palestinian Territories", 22, "moci@pacivhe.net"),
    ("Alfred Schwartz", "Syria", 29, "ic@tolseuc.pr"),
    ("Carrie Palmer", "Mauritius", 28, "fenlofi@tor.aq"),
    ("Rose Tyler", "Martinique", 17, "as@forebjab.et"),
    ("Katharine Little", "Anguilla", 29, "am@kifez.et"),
    ("Brent Peterson", "Svalbard & Jan Mayen", 22, "le@wekciga.lr"),
    ("Lydia Thornton", "Puerto Rico", 19, "lefvoru@itbewuk.at"),
    ("Richard Newton", "Pitcairn Islands", 17, "da@lasowiwa.su"),
    ("Eric Townsend", "Svalbard & Jan Mayen", 22, "jijer@cipzo.gp"),
    ("Trevor Hines", "Dominican Republic", 15, "ev@hivew.tm"),
    ("Inez Little", "Namibia", 26, "meewi@mirha.ye"),
    ("Lloyd Aguilar", "Swaziland", 16, "oza@emneme.bb"),
    ("Erik Lane", "Turkey", 30, "efumazza@va.hn"),
]

adult = list(filter(lambda x: x[2] >= 20, people)) # 나이가 20이상인 사람들만 남기고
adult.sort(key=lambda x: x[2]) # 나이를 기준으로 정렬
pprint(adult)

 

실행화면