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() # вывод книг
149
249
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
ДженниЛенни03.10.2021 04:09
-
Irakyn03.03.2022 20:04
-
Bossak03.05.2022 12:54
-
Гелик213208.04.2020 05:24
-
Sweetdreams200304.01.2020 01:37
-
Anastasia19132706.02.2020 17:18
-
Максим5606515.09.2022 07:05
-
Cirkulek99915.06.2020 06:04
-
almaz10831.03.2021 10:37
-
anastasia55911.01.2021 08:46
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.