Есть ответ 👍

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
Посмотреть ответы 1

Ответы на вопрос:

asd135
4,4(73 оценок)

Лучше сфотографировать можешь?

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS