코딩일지/내일배움캠프 과제

20220913 클래스 활용해보기

야언 2022. 9. 13. 15:32

 

 

1. 도형 넓이 계산기

 

 

num1 = int(input('첫 번째 숫자를 입력 : '))
num2 = int(input('두 번째 숫자를 입력 : '))

class calc_area:
    def __init__(self, num1, num2):
        self.num1 = num1
        self.num2 = num2

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

    def triangle(self):
        result = self.num1 * self.num2 / 2
        return result

    def circle(self):
        result = (self.num1 / 2) **2 * 3.14  # 첫번째 숫자를 원의 지름(2r)으로, 𝝿r²
        return result

area = calc_area(num1, num2)

print(area.square()) # 사각형의 넓이
print(area.triangle()) # 삼각형의 넓이
print(area.circle()) # 원의 넓이

 

 

 

 

2. 계산기 만들어보기

 

 

num1 = int(input('첫 번째 숫자를 입력 : '))
num2 = int(input('두 번째 숫자를 입력 : '))

class Calc:

    def __init__(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(num1, num2)

print(calc.plus()) # 더한 값
print(calc.minus()) # 뺀 값
print(calc.multiple()) # 곱한 값
print(calc.divide()) # 나눈 값

 

 

 

3. 프로필 관리 기능 만들어보기

 

 

from pprint import pprint


class Profile:
    def __init__(self):
        self.profile = {
            "name": "-",
            "gender": "-",
            "birthday": "-",
            "age": "-",
            "phone": "-",
            "email": "-",
        }

    def set_profile(self, profile):
        self.profile = profile

    def get_name(self):
        return self.profile["name"]

    def get_gender(self):
        return self.profile["gender"]

    def get_birthday(self):
        return self.profile["birthday"]

    def get_age(self):
        return self.profile["age"]

    def get_phone(self):
        return self.profile["phone"]

    def get_email(self):
        return self.profile["email"]


profile = Profile()
profile.set_profile({
    "name": str(input('이름을 입력하세요 : ')),
    "gender": str(input('성별을 입력하세요 : ')),
    "birthday": str(input('생일을 입력하세요 : ')),
    "age": int(input('나이을 입력하세요 : ')),
    "phone": str(input('핸드폰 번호를 입력하세요 : ')),
    "email": str(input('email 주소를 입력하세요 : ')),
})


pprint(profile.get_name())  # 이름 출력
pprint(profile.get_gender())  # 성별 출력
pprint(profile.get_birthday())  # 생일 출력
pprint(profile.get_age())  # 나이 출력
pprint(profile.get_phone())  # 핸드폰번호 출력
pprint(profile.get_email())  # 이메일 출력

 

 

 

일단 이해한대로 써볼 수 있었는데 아직도 어디에 활용되는지는 감이 잘 안잡힌다..

 

당장 생각하기로는 스타크래프트같은 게임에서의 유닛 관리정도?

 

ex) 클래스로 마린의 정보를 담은 틀을 만들고 그 틀로 마린 개체들을 뽑아서 따로 관리하는?

 

흠..