Не знаете, как писать код? [closed]

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

list () — показать все книги в библиотеке в виде таблицы «Год автора названия». Выровняйте заголовки так же, как и данные (см. Задание 2). Для отображения книг используйте их метод display ().

filter () — найти книги по названию, автору или году. Метод должен вернуть список подходящих книг. По умолчанию все параметры поиска пусты. Если параметры поиска не заданы, нужно вернуть все книги. Если книги не найдены, метод должен вернуть пустой список. Метод не должен выводить никаких сообщений или выводить сами книги.

Бонус (+0,3 балла) — сделайте фильтр по названию и автору нечувствительным к регистру и чтобы он выполнял поиск только по части названия / имени автора. Например, если у меня есть книга с названием «Заголовок», и я ищу результат:

Главная Библиотека Название Автор Год Чистый код Дядя Боб 2017 От 2 до 5 корней Чуковский 1958 Идеальный программист Дядя Боб 2018 Рецепты татарской кухни 2018

Пример поиска:

books = library.filter (author = «Корней Чуковский», title = «От 2 до 5») книги[0].отображать()

Результат:

От 2 до 5 корней Чуковский 1958

Статический метод as_table ():

books = library.filter (author = «Uncle Bob») Library.as_table (books) # вызов от имени класса

Результат:

Название Автор Год Чистый код Дядя Боб 2017 Идеальный программист Дядя Боб 2018

Я начал писать код, не знаю, как продолжить, пожалуйста, помогите мне!

class Library:
    def __init__():
        self.books = []

    def add_book(book):
        self.books.append(book)

    def get_books(self):
        return self.books

    def show_books(self):

        for book in self.books:
            print(str(book))

class Book:

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

    print('{0:<{1}}'.format("Наименование", 30), '{0:<{1}}'.format("Название", 20), '{0:>{1}}'.format("Количество", 5))

    def display(self):
        if not self.author:
            print('{0:<{1}}'.format(self.title, 30), '{0:>{1}}'.format(self.year, 5))
        elif not self.year:
            print('{0:<{1}}'.format(self.title, 30), '{0:<{1}}'.format(self.author, 20))
        else:
            print('{0:<{1}}'.format(self.title, 30), '{0:<{1}}'.format(self.author, 20),
                  '{0:>{1}}'.format(self.year, 5))


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

def __str__(self):


    if __title__ == "__main__":

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *