Skip to content
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions task_2_flat
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
class Flat:

def __init__(self, kitchen, bedroom, bathroom):
self.kitchen = kitchen
self.bedroom = bedroom
self.bathroom = bathroom
Comment thread
smartiqa marked this conversation as resolved.

#def print_rooms(self):
# print (f'{self.kitchen, self.bedroom, self.bedroom}')

#def print_flat_size(self, kitchen_size, bedroom_size, bathroom_size):
# size = self._calculate_flat_size(kitchen_size, bedroom_size, bathroom_size)
# print(f'Flat {size}sq.m.')

#def print_kitchen_size(self, size):
# print(f'{self.kitchen} {size}sq.m.')

#def print_bedroom_size(self, size):
# print(f'{self.bedroom} {size}sq.m.')

#def print_bathroom_size(self, size):
# print(f'{self.bathroom} {size}sq.m.')

#def _calculate_flat_size(self, kitchen_size, bedroom_size, bathroom_size):
# return f'{kitchen_size + bathroom_size + bedroom_size}'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Когда закончите с предыдущими двумя комментариями, можно переходить к этапу 4. Реализуем до конца класс Flat, а именно - добавляем все те методы, которые закомментили:

def print_rooms(self):

def print_flat_size(self):

def print_kitchen_size(self):

def print_bedroom_size(self):

def print_bathroom_size(self):

def _calculate_flat_size(self):

На что обратить внимание?

  1. Еще раз акцентирую внимание - делаем только после того, как сделаем изменения по первым двум пунктам (так как для реализации текущих методов нужен метод get_size() классов Kitchen, Bedroom, Bathroom)
  2. Методы, которые начинаются с print выводят строки на печать. А метод _calculate_flat_size() возвращает размер квартиры, то есть возвращает число.
  3. Для получения размеров каждой из комнат используйте соответствующий метод get_size(). Например:
def print_kitchen_size(self):
    print(f'Kitchen size: {self.kitchen.get_size()}')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Плюс добавляем примеры использования свежесозданных методов:

my_kitchen = Kitchen(13)
my_bedroom = Bedroom(18)
my_bathroom = Bathroom(4)

my_flat = Flat(my_kitchen, my_bedroom, my_bathroom)

my_flat.print_rooms()
my_flat.print_flat_size()
my_flat.print_kitchen_size()
my_flat.print_bedroom_size()
my_flat.print_bathroom_size()


#class Room:

#def __init__(self, name, purpose):
# self.name = name
# self.purpose = purpose

#def __str__(self):
# return f'{self.name} {self.purpose}'

#def get_size(self):
# user_size = input(f'Enter size of {self.name} ')
# print(f'{self.name} is {user_size}(sq.m.)')


class Kitchen(Room):

This comment was marked as outdated.


TITLE = 'Kitchen'

def __init__(self, size):
Comment thread
smartiqa marked this conversation as resolved.
self.__size = size
self.__purpose = 'To eat'

class Bedroom(Room):

TITLE = 'Bedroom'

def __init__(self, size):
self.__size = size
self.__purpose = 'To sleep'

class Bathroom(Room):

TITLE = 'Bathroom'

def __init__(self, size):
self.__size = size
self.__purpose = 'To wash'

#class BigBedroom(Room):

#def __str__(self):
# return f'{self.name} Спальня с двуспальной кроватью'

#class GuestBedroom(Room):

#def __str__(self):
# return f'{self.name} Гостевая спальня'


my_kitchen = Kitchen(13)

my_bedroom = Bedroom(18)

my_bathroom = Bathroom(4)

my_flat = Flat(my_kitchen, my_bedroom, my_bathroom)