Top.Mail.Ru
Ответы
Аватар пользователя
4мес
Аватар пользователя
Аватар пользователя
Программирование
+1

Знатоки питона помогите

Помогите сделать библиотеку
# БИБЛИОТЕКА
# Создай класс Author с такими атрибутами, как name и biography.
# Затем создай класс Book с такими атрибутами, как title, pages, author и published_year. Атрибут author должен быть
# экземпляром класса Author. Добавь методы к классу Book, такие как __str__, который возвращает строку с информацией
# о книге.
# Затем создай класс Library с атрибутом books, представляющим собой список экземпляров Book. Добавь в класс Library
# такие методы, как add_book, get_books и get_books_by_author, которые обновляют список книг, возвращают названия всех
# книг в библиотеке и возвращают названия книг, написанных определенным автором.
# Создай экземпляры всех трех классов и проверь взаимосвязь между ними.

По дате
По рейтингу
Аватар пользователя
Мастер
4мес

Писать код вручную было бы глупо в этом случае, поэтому я использовал ChatGPT:

123456789101112131415161718192021222324252627282930313233
 class Author: 
    def __init__(self, name, biography): 
        self.name = name 
        self.biography = biography 
 
    def __str__(self): 
        return f"Author: {self.name}\nBiography: {self.biography}" 
 
 
class Book: 
    def __init__(self, title, pages, author, published_year): 
        self.title = title 
        self.pages = pages 
        self.author = author  # экземпляр класса Author 
        self.published_year = published_year 
 
    def __str__(self): 
        return f"Title: {self.title}, Pages: {self.pages}, Author: {self.author.name}, Published Year: {self.published_year}" 
 
 
class Library: 
    def __init__(self): 
        self.books = []  # список экземпляров Book 
 
    def add_book(self, book): 
        self.books.append(book) 
 
    def get_books(self): 
        return [book.title for book in self.books] 
 
    def get_books_by_author(self, author_name): 
        return [book.title for book in self.books if book.author.name == author_name]