Python потрібно зробити ось таку програму:
Створити список об´єктів класу BOOK з такими властивостями: назва,
автор, видавництво, рік видання, кількість сторінок, методами: конструктор
класу, зміна року видання, зміна кількості сторінок. Написати код, за
допомогою якого можна додати нову книгу у список, вилучити нову книгу зі
списку.
Answers & Comments
class BOOK:
title = ""
edition = ""
year_of_publication = ""
pages = ""
# create class instance
def __new__(cls, *args, **kwargs):
return super().__new__(cls)
# initialize created instance
def __init__(self, title, edition, year_of_publication, pages):
self.title = title
self.edition = edition
self.year_of_publication = year_of_publication
self.pages = pages
def change_yop(self, yop):
self.year_of_publication = yop
def change_pages(self, pages):
self.pages = pages
def print_specs(self):
print(self.title + " " + self.edition + " " + self.year_of_publication + " " + str(self.pages))
def add(books):
t = input("title: ")
e = input("edition: ")
y = input("year of publication: ")
p = input("pages")
book = BOOK(t, e, y, p)
books.append(book)
def delete(books, name):
for book in books:
if book.title == name:
books.remove(book)
return
print("No such title")
def main():
books = []
book1 = BOOK("BOOK1", "Pub1", "2000", 432)
book2 = BOOK("BOOK2", "Pub2", "1222", 23)
books.append(book1)
books.append(book2)
for book in books:
book.print_specs()
add(books)
for book in books:
book.print_specs()
del_name = input("Enter title of a book you want to delete: ")
delete(books, del_name)
for book in books:
book.print_specs()
if __name__ == '__main__':
main()
Verified answer
class Book:
def __init__(self, name, author, publisher, year, pages):
self.name = name
self.author = author
self.publisher = publisher
self.year = year
self.pages = pages
def change_year(self, year):
self.year = year
def change_pages(self, pages):
self.pages = pages
def addBook():
name = input("Введіть назву книги: ")
author = input("Введіть автора книги: ")
publisher = input("Введіть видавництво книги: ")
year = int(input("Введіть рік видання книги: "))
pages = int(input("Введіть кількість сторінок книги: "))
book = Book(name, author, publisher, year, pages)
return book
def deleteBook(books):
name = input("Введіть назву книги, яку ви хочете видалити: ")
for book in books:
if book.name == name:
books.remove(book)
print("Книга успішно видалена!")
return books
print("Книги з такою назвою немає в списку!")
return books
books = []
while True:
print("1. Додати книгу")
print("2. Видалити книгу")
print("3. Вихід")
choice = int(input("Введіть ваш вибір: "))
if choice == 1:
books.append(addBook())
elif choice == 2:
books = deleteBook(books)
elif choice == 3:
break
else:
print("Невірний вибір!")