Advertisement
AntonStanoev

Zad2

Jan 1st, 2023 (edited)
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.57 KB | None | 0 0
  1. #Да се състави програма, чрез която да се дефинира клас Book с полета: book_name, book_code, book_price, book_year, book_author. Да се дефинира конструктор, който инициализира полетата на класа. (6т.)
  2. #Да се създаде списък с име books, който съдържа четири инстанции на класа Book. Да се съставят две функции: първата функция с име sort_name да извършва сортиране по име на книга (book_name) в низходящ ред и да извежда получения резултат на екрана. Втората функция с име author да извежда на екрана всички книги от един автор. (16т.)
  3. #Да се състави функция с име search_book, която получава като аргумент код на книга (book_code). Ако търсената книга е налична да се изведе нейната година на издаване (book_year). Ако търсената книга не е налична да се изведе съобщение на екрана „The book is not found!“. (16т.)
  4.  
  5.  
  6.  
  7. class Book:
  8.     def __init__(self, book_name, book_code, book_price, book_year, book_author):
  9.         self.book_name = book_name
  10.         self.book_code = book_code
  11.         self.book_price = book_price
  12.         self.book_year = book_year
  13.         self.book_author = book_author
  14.  
  15.     def __str__(self):
  16.         return f'{self.book_code} {self.book_name} {self.book_price} \
  17. {self.book_author} {self.book_year}'
  18.  
  19.     def __repr__(self):
  20.         return f'{self.book_code} {self.book_name} {self.book_price} \
  21. {self.book_author} {self.book_year}'
  22.  
  23.     def __lt__(self, other):
  24.         return self.book_name < other.book_name
  25.  
  26.  
  27. books = [
  28.     Book('A1', 121, 12.34, 2022, 'BC'),
  29.     Book('A1', 124, 34.22, 2021, 'BB'),
  30.     Book('A2', 125, 20, 2022, 'BC'),
  31.     Book('A3', 120, 7.43, 2021, 'AC'),
  32. ]
  33.  
  34.  
  35. def sort_name(books):
  36.     print(sorted(books, reverse=True))
  37.  
  38.  
  39. def author(books, author):
  40.     for book in books:
  41.         if book.book_author == author:
  42.             print(book)
  43.  
  44.  
  45. def search_book(books, code):
  46.     for book in books:
  47.         if book.book_code == code:
  48.             print(book.book_year)
  49.             return
  50.     print('The book is not found!')
  51.  
  52.  
  53. sort_name(books)
  54. author(books, 'BC')
  55. author(books, 'XY')
  56. search_book(books, 119)
  57. search_book(books, 121)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement