Python
[Python 만들면서 배우기05] 만들면서 배우는 Python 학생 출력하기
donggyu1998
2021. 7. 18. 20:42
반응형
💡 글 작성자는 vscode를 활용하여 Python을 작성하고있습니다.
💡 [실행화면]
💡 코드 확인
코드 복사 주소 : https://pastebin.com/zHr7qYDW
현재 이 글은 한 번에 변수를 지정 복습, setter와 getter 복습, 코드를 줄여서 깔끔하게 사용하는 방법에 대한 글입니다.
이 내용을 읽기전에 https://donggyu.tistory.com/55 를 먼저 읽어주세요.
class Item: # 과목명, 점수
def __init__(self):
self._name = None
self._score = 0
def setName(self, name):
self._name = name
def getName(self):
return self._name
def setscore(self, score):
self._score = score
def getscore(self):
return self._score
class Student: # 학생이름, 과목
def __init__(self):
self._name = None
self._items = [] # 빈 아이템 리스트 만듬
def getName(self):
return self._name
def setName(self, name):
self._name = name
def getItems(self):
return self._items
def appendItem(self, item):
self._items.append(item)
class School:
def __init__(self):
self._name = None
self._items = []
def getMidName(self):
return self._name
def setMidName(self, name):
self._name = name
def getItems(self):
return self._items
def appendItem(self, item):
self._items.append(item)
def main():
#학교 생성
mid = School()
mid.setMidName("대학교")
# 동규, 동순 생성
donggyu = Student()
mansu = Student()
donggyu.setName("동규")
mansu.setName("동순")
# 국어 생성
kor = Item()
kor.setName("국어")
kor.setscore(100)
kor_0 = Item()
kor_0.setName("국어")
kor_0.setscore(90)
# 수학 생성
math = Item()
math.setName("수학")
math.setscore(80)
math_0 = Item()
math_0.setName("수학")
math_0.setscore(70)
# 영어 생성
eng = Item()
eng.setName("영어")
eng.setscore(60)
eng_0 = Item()
eng_0.setName("영어")
eng_0.setscore(50)
donggyu.appendItem(kor)
donggyu.appendItem(math)
donggyu.appendItem(eng)
mid.appendItem(donggyu)
# 국어, 수학, 영어
mansu.appendItem(kor_0)
mansu.appendItem(math_0)
mansu.appendItem(eng_0)
mid.appendItem(mansu)
#print("====================================================================")
#print(mid.getMidName())
#print("학생1 | ", donggyu.getName())
#for item in donggyu.getItems():
# print(item.getName(), item.getscore(), end = ' ')
#print('\n')
#print("학생2 | ", mansu.getName())
#for item in mansu.getItems():
# print(item.getName(), item.getscore(), end = ' ')
#print("\n====================================================================")
print("====================================================================")
print(mid.getMidName())
for student in mid.getItems():
print("\n학생 | ", student.getName())
for item in student.getItems():
print(item.getName(), item.getscore(), end = ' ')
print("\n====================================================================")
if __name__ == "__main__":
main()
! 이전 코드 !
#print("====================================================================")
#print(mid.getMidName())
#print("학생1 | ", donggyu.getName())
#for item in donggyu.getItems():
# print(item.getName(), item.getscore(), end = ' ')
#print('\n')
#print("학생2 | ", mansu.getName())
#for item in mansu.getItems():
# print(item.getName(), item.getscore(), end = ' ')
#print("\n====================================================================")
! 코드 줄여서 사용하는 경우 !
print("====================================================================")
print(mid.getMidName())
for student in mid.getItems():
print("\n학생 | ", student.getName())
for item in student.getItems():
print(item.getName(), item.getscore(), end = ' ')
print("\n====================================================================")
반응형