House.py
1 2 3 4 | class House: def __init__(self,size,rooms): self.size=int(size) self.rooms=int(rooms) | cs |
Apartment.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | from House import House class Apartment(House): def __init__(self, dong_ho, size, rooms): super().__init__(size, rooms) self.dong_ho = dong_ho def __lt__(self, other): if self.size < other.size: return True else: return False def __eq__(self, other): if self.size == other.size: return True else: return False def __str__(self): return '{}동 {}호의 {}개의 방이 있는 {}평의 아파트입니다.'.format(self.dong_ho.split('-')[0], self.dong_ho.split('-')[1], self.rooms, self.size) | cs |
Vile.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | from House import House class Vile(House): def __init__(self, address, size, rooms, yard): super().__init__(size, rooms) self.address = address self.yard = yard def __lt__(self, other): if self.size < other.size: return True else: return False def __str__(self): if(self.yard=='T'): return '{}에 위치해 있는 {}개의 방이 있고 마당이 있는 {}평의 주택입니다.'.format(self.address, self.rooms, self.size) else: return '{}에 위치해 있는 {}개의 방이 있고 마당은 없는 {}평의 주택입니다.'.format(self.address, self.rooms, self.size) | cs |
main2.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | from Apartment import Apartment from Vile import Vile f = open("Apartment.txt", 'r') N = int(f.readline()) apartments=[] for i in range(N): lst = f.readline().split(' ') a = Apartment(lst[0], lst[1], lst[2].strip()) apartments.append(a) f.close() # 클래스 리스트 정렬 max_index=0 # magic method가 작동하는 것을 직관적으로 파악해보기 위해 for문을 이용하여 최댓값을 찾아보세요! for j in range(N): if apartments[max_index] < apartments[j]: max_index = j # 혹시 같은 인덱스가 있으면 같이 출력한다. print(apartments[max_index]) for j in range(N): if apartments[max_index] == apartments[j] and max_index != j: print(apartments[j]) # Vile에 대한 최대평수 출력은 max를 활용해보세요~! f = open("Vile.txt", 'r') M = int(f.readline()) viles = [] for i in range(M): lst = f.readline().split(' ') v = Vile(lst[0], lst[1], lst[2], lst[3].strip()) viles.append(v) f.close() print(max(viles)) | cs |
Result
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5