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
반응형
'개발 > (1) 초위파(Python) 300제 풀이' 카테고리의 다른 글
초보자를 위한 파이썬(Python) 300제 풀이 (276, 277, 278, 279, 280) (1) | 2022.12.23 |
---|---|
초보자를 위한 파이썬(Python) 300제 풀이 (271, 272, 273, 274, 275) (0) | 2022.12.22 |
초보자를 위한 파이썬(Python) 300제 풀이 (261, 262, 263, 264, 265) (0) | 2022.12.16 |
초보자를 위한 파이썬(Python) 300제 풀이 (256, 257, 258, 259, 260) (0) | 2022.12.15 |
초보자를 위한 파이썬(Python) 300제 풀이 (251, 252, 253, 254, 255) (0) | 2022.12.14 |