개발/(1) 초위파(Python) 300제 풀이

초보자를 위한 파이썬(Python) 300제 풀이 (266, 267, 268, 269, 270)

생각외로깔끔함 2022. 12. 17. 16:07
728x90
반응형

 

초보자를 위한 파이썬(Python) 300제 풀이

 

 

 

266. 생성자에서 종목명, 종목코드, PER, PBR, 배당수익률을 입력 받을 수 있도록 생성자를 수정하세요. PER, PBR, 배당수익률은 float 타입입니다.

class Stock:
    def __init__(self, name, code, per, pbr, incoming):
        self.name = name
        self.code = code
        self.per = per
        self.pbr = pbr
        self.incoming = incoming

    def set_name(self, name):
        self.name = name

    def set_code(self, code):
        self.code = code

    def get_name(self):
        return self.name

    def get_code(self):
        return self.code
  • 입력을 float(소수점 자리 생각하면 쉽습니다.) 형식으로 하면 출력도 그와 같이 됩니다.

 

267. 266번에서 정의한 생성자를 통해 다음 정보를 갖는 객체를 생성해보세요.

항목 정보
종목명 삼성전자
종목코드 005930
PER 15.79
PBR 1.33
배당수익률(incoming) 2.83

 

class Stock:
    def __init__(self, name, code, per, pbr, incoming):
        self.name = name
        self.code = code
        self.per = per
        self.pbr = pbr
        self.incoming = incoming

    def set_name(self, name):
        self.name = name

    def set_code(self, code):
        self.code = code

    def get_name(self):
        return self.name

    def get_code(self):
        return self.code


Samsung = Stock("삼성전자", "005930", 15.79, 1.33, 2.83)
print(Samsung.incoming)
  • 변수에 할당만 하면 바로 가능합니다.
  • 할당이 잘 되었는지 확인하기 위해 incoming을 프린트하였습니다.

 

268. PER, PBR, 배당수익률은 변경될 수 있는 값입니다. 이 값을 변경할 때 사용하는 set_per, set_pbr, set_incoming 메서드를 추가하세요.

class Stock:
    def __init__(self, name, code, per, pbr, incoming):
        self.name = name
        self.code = code
        self.per = per
        self.pbr = pbr
        self.incoming = incoming

    def set_name(self, name):
        self.name = name

    def set_code(self, code):
        self.code = code

    def get_name(self):
        return self.name

    def get_code(self):
        return self.code

    def set_per(self, per):
        self.per = per

    def set_pbr(self, pbr):
        self.pbr = pbr

    def set_incoming(self, incoming):
        self.incoming = incoming
  • "self.할당값" 을 사용하여 값을 변경하는 메서드를 추가할 수 있습니다.

 

269. 267번에서 생성한 객체에 set_per 메서드를 호출하여 per 값을 12.75로 수정해보세요.

class Stock:
    def __init__(self, name, code, per, pbr, incoming):
        self.name = name
        self.code = code
        self.per = per
        self.pbr = pbr
        self.incoming = incoming

    def set_name(self, name):
        self.name = name

    def set_code(self, code):
        self.code = code

    def get_name(self):
        return self.name

    def get_code(self):
        return self.code

    def set_per(self, per):
        self.per = per

    def set_pbr(self, pbr):
        self.pbr = pbr

    def set_incoming(self, incoming):
        self.incoming = incoming

Samsung = Stock("삼성전자", "005930", 15.79, 1.33, 2.83)
Samsung.set_per(12.75)
print(Samsung.per)
  • 메서드를 사용해 할당값을 쉽게 변경할 수 있습니다.

 

270. 아래의 표를 참조하여 3종목에 대해 객체를 생성하고 이를 파이썬 리스트에 저장하세요. 파이썬 리스트에 저장된 각 종목에 대해 for 루프를 통해 종목코드와 PER을 출력해보세요.

종목명 종목코드 PER PBR incoming
삼성전자 005930 15.79 1.33 2.83
현대차 005380 8.70 0.35 4.27
LG전자 066570 317.34 0.69 1.37

 

class Stock:
    def __init__(self, name, code, per, pbr, incoming):
        self.name = name
        self.code = code
        self.per = per
        self.pbr = pbr
        self.incoming = incoming

    def set_name(self, name):
        self.name = name

    def set_code(self, code):
        self.code = code

    def get_name(self):
        return self.name

    def get_code(self):
        return self.code

    def get_per(self):
        return self.per

    def set_per(self, per):
        self.per = per

    def set_pbr(self, pbr):
        self.pbr = pbr

    def set_incoming(self, incoming):
        self.incoming = incoming

Samsung = Stock("삼성전자", "005930", 15.79, 1.33, 2.83)
Hyundae = Stock("현대차", "005380", 8.70, 0.35, 4.27)
LG_E = Stock("LG전자", "066570", 317.34, 0.69, 1.37)

for i in [Samsung, Hyundae, LG_E]:
    print(i.get_code())
    print(i.get_per())
  • 클래스의 객체를 바인딩 하고 출력하는 메서드만 활용하면 문제 해결이 가능합니다.

 

 

 

출처 = https://wikidocs.net/book/922, 초보자를 위한 파이썬 300제,

PyCharm 사용

728x90
반응형