Предмет: Информатика, автор: neforo4oks

ПОМОГИТЕ СДЕЛАТЬ СРОЧНО ДАЮ 40 БАЛОВ!
НА Python
Клас Book:
Має атрибути title, author, publication_year.
Має атрибут available_copies, який зберігає кількість доступних екземплярів книги.
Має метод checkout, який зменшує кількість доступних екземплярів на 1 при видачі книги.
Має метод return_book, який збільшує кількість доступних екземплярів на 1 при поверненні книги.
Клас Library:
Має атрибут books, який є списком об'єктів класу Book.
Має метод add_book, який додає нову книгу до списку книг у бібліотеці.
Має метод search_by_author, який приймає ім'я автора і повертає список книг цього автора, що доступні в бібліотеці.
Має метод search_by_title, який приймає назву книги і повертає книгу з вказаною назвою, якщо вона доступна.
Програма:
Створює об'єкт класу Library.
Створює кілька об’єктів класу Book
Додає ці книги до бібліотеки за допомогою методу add_book.
Проводить декілька операцій видачі та повернення книг, використовуючи методи checkout та return_book.
Викликає методи search_by_author та search_by_title, щоб здійснити пошук книг у бібліотеці

Ответы

Автор ответа: sashok451
0

Ответ:

class Book:

   def __init__(self, title, author, publication_year, available_copies):

       self.title = title

       self.author = author

       self.publication_year = publication_year

       self.available_copies = available_copies

   def checkout(self):

       if self.available_copies > 0:

           self.available_copies -= 1

           return True

       else:

           return False

   def return_book(self):

       self.available_copies += 1

class Library:

   def __init__(self):

       self.books = []

   def add_book(self, book):

       self.books.append(book)

   def search_by_author(self, author):

       found_books = [book for book in self.books if book.author == author and book.available_copies > 0]

       return found_books

   def search_by_title(self, title):

       for book in self.books:

           if book.title == title and book.available_copies > 0:

               return book

       return None

# Створення об'єкту бібліотеки

library = Library()

# Створення об'єктів книг та додавання їх до бібліотеки

book1 = Book("Книга 1", "Автор 1", 2000, 3)

book2 = Book("Книга 2", "Автор 2", 2010, 2)

book3 = Book("Книга 3", "Автор 1", 2015, 1)

library.add_book(book1)

library.add_book(book2)

library.add_book(book3)

# Видача та повернення книг

book1.checkout()

book2.checkout()

book2.return_book()

# Пошук книг за автором та за назвою

author_books = library.search_by_author("Автор 1")

print("Книги автора 1, що доступні в бібліотеці:")

for book in author_books:

   print(f"{book.title} ({book.publication_year})")

title_book = library.search_by_title("Книга 2")

if title_book:

   print(f"Знайдена книга за назвою: {title_book.title}")

else:

   print("Книга за назвою не знайдена")

Объяснение:

Приложения:
Похожие вопросы
Предмет: Математика, автор: alekelena16
Предмет: Математика, автор: bekaryskajrekes