Lkiozra
14.04.2020 00:47

Python Необходимо написать класс Library, который описывает библиотеку. У библиотеки есть два свойства: название и список книг. У библиотеки есть следующие методы:
Конструктор, принимает название и список книг. По умолчанию список книг пустой. Каждая книга - это объект класса Book

list() - показать все книги в библиотеке в виде таблицы "Название Автор Год". Для вывода книг используйте их метод display().
filter() - найти книги по названию, автору или году. Метод должен вернуть список подходящих книг. По умолчанию все параметры поиска - пустые. Если параметры поиска не заданы, нужно вернуть все книги. Если ни одна книга не найдена, метод должен вернуть пустой список. Метод не должен выводить никаких сообщений или сам выводить книги.
add_book() - добавить книгу в библиотеку. Принимает объект класса Book.
class Book:

def __init__(self, title, author=None, year=None):
self.title = title
self.author = author
self.year = year

book = Book('Title', 'Author', 2020)
book.display()

Книги могут повторяться. Сама книга (Book) должна создаваться снаружи класса, и передаваться в этот метод, как аргумент.

book = Book('Title', 'Author')
library.add_book(book)

delete_book() - удалить книгу из библиотеки. Принимает объект класса Book, ранее найденный с поиска. Например:

books = library.filter(title='Title')
book = books[0] # первая книга из найденных
library.delete_book(book)

Статический метод as_table() - показать переданный список книг в виде таблицы. Принимает список из объектов Book и выводит их аналогично методу list. Например, в этот метод можно передать список книг, возвращённый из метода поиска.

Контрольный пример:

book_1 = Book('Чистый код', 'Дядя Боб', 2017)
book_2 = Book('От 2 до 5', 'Корней Чуковский', 1958)
book_3 = Book('Идеальный программист', 'Дядя Боб', 2018)
book_4 = Book('Рецепты татарской кухни', year=2018)

library = Library('Библиотека')
library.add_book(book_1)
library.add_book(book_2)
library.add_book(book_3)
library.add_book(book_4)

print(library.name) # вывод названия
library.list() # вывод книг

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
angelina436
05.06.2023 20:33
Возможности графического редактора Photoshop от компании Adobe позволяют делать любые операции над изображениями. Начиная с рисования простых фигур и линий кистью, и заканчивая созданием сложных многослойных композиций с применением корректирующих слоёв,  эффектов наложения, фильтров и 3d объектов. С его можно выравнивать цвета и положение объектов на неправильно сделанных снимках, производить восстановление и коррекцию старых фотографий либо повреждённых изображений. Можно делать анимированные изображения, например, gif анимацию. Имея графический планшет можно рисовать настоящие картины, как если бы мы использовали обычную кисть и холст, т.к. большое разнообразие кистей и их настроек позволяет в умелых руках буквально творить чудеса. Инструменты автоматизации, подключаемые фильтры и плагины, а также ряд других профессиональных возможностей позволяют упростить многие операции, а многие делать буквально в 1 клик мыши в автоматическом режиме сразу над несколькими тысячами файлов.
0,0(0 оценок)
Ответ:
Титанэжжжжж
29.08.2020 01:33
Program pr;
uses crt; 
Var a,b,c:integer; 

Begin   
Write('Введите 1-ю сторону: '); Readln(a);   
Write('Введите 2-ю сторону: '); Readln(b);   
Write('Введите 3-ю сторону: '); Readln(c); 
  
{Проверка на существование треугольника} 
if ((a+b)>c) and ((a+c)>b) and ((b+c)>a)   then        
     Begin                     
          if ((a=b)or (b=c) or (a=c)) then               
                Writeln('Треугольник равнобедренный');                       
 
         if ((a=b) and (b=c)) then               
            Writeln('Треугольник равносторонний')                 
         else Writeln('Треугольник разносторонний');           
  
        if ((a*a+b*b = c*c) or (a*a+c*c = b*b) or (b*b+c*c = a*a))    then
             Writeln('Треугольник прямоугольный');                      
    end   
   else       Writeln('Треугольник нельзя построить');    

Readln(); 
END.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота