ПОЖАЛУЙСТА ПОМОГИТЕ СДЕЛАТЬ ЧТО БЫ НЕ БЫЛО ОШИБОК! ВСЕ БЫЛА 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, щоб здійснити пошук книг у бібліотеці.
Ответы
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
print(f"Книга '{self.title}' видається. Залишилося екземплярів: {self.available_copies}")
else:
print(f"На жаль, екземплярів книги '{self.title}' на даний момент немає.")
def return_book(self):
self.available_copies += 1
print(f"Книга '{self.title}' повертається. Залишилося екземплярів: {self.available_copies}")
class Library:
def __init__(self):
self.books = []
def add_book(self, book):
self.books.append(book)
print(f"Книга '{book.title}' додана до бібліотеки.")
def search_by_author(self, author):
author_books = [book for book in self.books if book.author == author]
return author_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 = Library()
# Створення кількох об'єктів класу Book
book1 = Book("Title1", "Author1", 2020, 3)
book2 = Book("Title2", "Author2", 2021, 2)
book3 = Book("Title3", "Author1", 2019, 1)
# Додавання книг до бібліотеки
library.add_book(book1)
library.add_book(book2)
library.add_book(book3)
# Операції видачі та повернення книг
book1.checkout()
book1.return_book()
# Пошук книг за автором та за назвою
author_books = library.search_by_author("Author1")
print(f"Книги автора Author1: {[book.title for book in author_books]}")
searched_book = library.search_by_title("Title2")
if searched_book:
print(f"Знайдена книга за назвою 'Title2': {searched_book.title}")
else:
print("Книга не знайдена або відсутня в бібліотеці.")