Python, задачка срочноо
Создать класс NoteBook, который содержит основные характеристики ноутбука (не менее трех характеристик). При реализации класса использовать конструктор, вывод информации об объектах класса оформить через метод __str__(). Создать несколько объектов класса NoteBook.
Используя собственную функцию comparison1 (функция находится ВНЕ класса) сравнить два ноутбука по любой из характеристик.
Используя собственную функцию comparison2 (функция находится ВНУТРИ класса) сравнить два ноутбука по любой из характеристик.
Ответы
def comparison1(notebook1, notebook2):
# сравниваем два ноутбука по размеру экрана
if notebook1.screen_size > notebook2.screen_size:
return f"{notebook1} лучше, чем {notebook2}"
elif notebook1.screen_size < notebook2.screen_size:
return f"{notebook2} лучше, чем {notebook1}"
else:
return "Ноутбуки равны"
class NoteBook:
def __init__(self, brand, model, screen_size, ram):
self.brand = brand
self.model = model
self.screen_size = screen_size
self.ram = ram
def __str__(self):
return f"{self.brand} {self.model} (размер экрана {self.screen_size}, объем ОЗУ {self.ram})"
def comparison2(self, other):
# сравниваем два ноутбука по объему ОЗУ
if self.ram > other.ram:
return f"{self} лучше, чем {other}"
elif self.ram < other.ram:
return f"{other} лучше, чем {self}"
else:
return "Ноутбуки равны"
# создаем несколько объектов класса NoteBook
notebook1 = NoteBook("Lenovo", "ThinkPad X1 Carbon", 14, 16)
notebook2 = NoteBook("Dell", "XPS 13", 13.3, 8)
notebook3 = NoteBook("Apple", "MacBook Air", 13.3, 8)
# сравниваем ноутбуки с помощью comparison1
print(comparison1(notebook1, notebook2)) # Lenovo ThinkPad X1 Carbon (размер экрана 14, объем ОЗУ 16) лучше, чем Dell XPS 13 (размер экрана 13.3, объем ОЗУ 8)
print(comparison1(notebook2, notebook3)) # Dell XPS 13 (размер экрана 13.3, объем ОЗУ 8) равен Apple MacBook Air (размер экрана 13.3, объем ОЗУ 8)
# сравниваем ноутбуки с помощью comparison2
print(notebook1.comparison2(notebook2)) # Lenovo ThinkPad X1 Carbon (размер экрана 14, объем ОЗУ 16) лучше, чем Dell XPS 13 (размер экрана 13.3, объем ОЗУ 8)
print(notebook2.comparison2(notebook3)) # Dell XPS 13 (размер экрана 13.3, объем ОЗУ 8) равен Apple MacBook Air (размер экрана 13.3, объем ОЗУ 8)
Вот вроде так.