ПАЙТОН! Розробіть програму «Бібліотека».Створіть список (назва, автор, видавництво, жанр, ціна, рейтинг).
творіть список з 10 книг. Реалізуйте для нього такі можливості:

■ Редагувати книгу;
■ Друк усіх книг;
■ Додати книгу;
■ Видалити книгу;
■ Пошук книг за автором;
■ Пошук книги за назвою;
■ Сортування списку за назвою книг;
■ Сортування списку за автором;
■ Сортування списку за видавництвом.
■ Сортування списку за ціною
■ Сортування списку за рейтингом

Ответы

Ответ дал: diasrustem04
1

Ответ:

python

class Book:

   def __init__(self, title, author, publisher, genre, price, rating):

       self.title = title

       self.author = author

       self.publisher = publisher

       self.genre = genre

       self.price = price

       self.rating = rating

class Library:

   def __init__(self):

       self.books = []

   def add_book(self, book):

       self.books.append(book)

   def remove_book(self, book):

       self.books.remove(book)

   

   def print_all_books(self):

       for book in self.books:

           print("Title:", book.title)

           print("Author:", book.author)

           print("Publisher:", book.publisher)

           print("Genre:", book.genre)

           print("Price:", book.price)

           print("Rating:", book.rating)

           print("---------")

   def edit_book(self, book, new_title=None, new_author=None, new_publisher=None, new_genre=None, new_price=None, new_rating=None):

       if new_title:

           book.title = new_title

       if new_author:

           book.author = new_author

       if new_publisher:

           book.publisher = new_publisher

       if new_genre:

           book.genre = new_genre

       if new_price:

           book.price = new_price

       if new_rating:

           book.rating = new_rating

   def search_by_author(self, author):

       found_books = []

       for book in self.books:

           if book.author.lower() == author.lower():

               found_books.append(book)

       return found_books

   def search_by_title(self, title):

       found_books = []

       for book in self.books:

           if book.title.lower() == title.lower():

               found_books.append(book)

       return found_books

   def sort_by_title(self):

       self.books.sort(key=lambda x: x.title)

   def sort_by_author(self):

       self.books.sort(key=lambda x: x.author)

   def sort_by_publisher(self):

       self.books.sort(key=lambda x: x.publisher)

   def sort_by_price(self):

       self.books.sort(key=lambda x: x.price)

   def sort_by_rating(self):

       self.books.sort(key=lambda x: x.rating)

# Создаем несколько книг

book1 = Book("Book1", "Author1", "Publisher1", "Genre1", 10.5, 4.5)

book2 = Book("Book2", "Author2", "Publisher2", "Genre2", 12.99, 4.0)

book3 = Book("Book3", "Author3", "Publisher1", "Genre3", 19.99, 3.8)

# Создаем объект библиотеки и добавляем книги

library = Library()

library.add_book(book1)

library.add_book(book2)

library.add_book(book3)

# Выводим все книги

library.print_all_books()

# Редактируем книгу

book2.title = "New Title"

library.edit_book(book2, new_author="New Author", new_price=15.99)

library.print_all_books()

# Удаляем книгу

library.remove_book(book1)

library.print_all_books()

# Поиск книг по автору и названию

found_books = library.search_by_author("Author1")

for book in found_books:

   print("Book found by author:", book.title)

found_books = library.search_by_title("Book3")

for book in found_books:

   print("Book found by title:", book.author, book.publisher)

# Сортировка списка книг

library.sort_by_title()

print("Books sorted by title:")

library.print_all_books()

library.sort_by_author()

print("Books sorted by author:")

library.print_all_books()

library.sort_by_publisher()

print("Books sorted by publisher:")

library.print_all_books()

library.sort_by_price()

print("Books sorted by price:")

library.print_all_books()

library.sort_by_rating()

("Books sorted by rating:")

library.print_all_books()


diasrustem04: Обращайтесь, всегда рад помочь)
Похожие вопросы