In Python without using super(): Given the base class Book, define a derived class called Encyclopedia. Within the derived Encyclopedia class, define a print_info() method that overrides the Book class' print_info() method by printing not only the title, author, publisher, and publication date, but also the edition and number of volumes. Ex: If the input is: The Hobbit J. R. R. Tolkien George Allen & Unwin 21 September 1937 The Illustrated Encyclopedia of the Universe James W. Guthrie Watson-Guptill 2001 2nd 1 the output is: Book Information: Book Title: The Hobbit Author: J. R. R. Tolkien Publisher: George Allen & Unwin Publication Date: 21 September 1937 Book Information: Book Title: The Illustrated Encyclopedia of the Universe Author: James W. Guthrie Publisher: Watson-Guptill Publication Date: 2001 Edition: 2nd Number of Volumes: 1 Default code: class Book: def __init__(self, title, author, publisher, publication_date): self.title = title self.author = author self.publisher = publisher self.publication_date = publication_date def print_info(self): print('Book Information:') print(' Book Title:', self.title) print(' Author:', self.author) print(' Publisher:', self.publisher) print(' Publication Date:', self.publication_date) class Encyclopedia(Book): # TODO: Define constructor with attributes: # title, author, publisher, publication_date, edition, num_volumes # TODO: Define a print_info() method that overrides the print_info() # in the Book class if __name__ == "__main__": title = input() author = input() publisher = input() publication_date = input() e_title = input() e_author = input() e_publisher = input() e_publication_date = input() edition = input() num_volumes = int(input()) my_book = Book(title, author, publisher, publication_date) my_book.print_info() my_encyclopedia = Encyclopedia(e_title, e_author, e_publisher, e_publication_date, edition, num_volumes) my_encyclopedia.print_info()
In Python without using super(): Given the base class Book, define a derived class called Encyclopedia. Within the derived Encyclopedia class, define a print_info() method that overrides the Book class' print_info() method by printing not only the title, author, publisher, and publication date, but also the edition and number of volumes.
Ex: If the input is:
The Hobbit
J. R. R. Tolkien
George Allen & Unwin
21 September 1937
The Illustrated Encyclopedia of the Universe
James W. Guthrie Watson-Guptill
2001
2nd
1
the output is:
Book Information:
Book Title: The Hobbit
Author: J. R. R. Tolkien
Publisher: George Allen & Unwin
Publication Date: 21 September 1937
Book Information:
Book Title: The Illustrated Encyclopedia of the Universe
Author: James W. Guthrie
Publisher: Watson-Guptill
Publication Date: 2001
Edition: 2nd
Number of Volumes: 1
Default code:
class Book:
def __init__(self, title, author, publisher, publication_date):
self.title = title
self.author = author
self.publisher = publisher
self.publication_date = publication_date
def print_info(self):
print('Book Information:')
print(' Book Title:', self.title)
print(' Author:', self.author)
print(' Publisher:', self.publisher)
print(' Publication Date:', self.publication_date)
class Encyclopedia(Book):
# TODO: Define constructor with attributes:
# title, author, publisher, publication_date, edition, num_volumes
# TODO: Define a print_info() method that overrides the print_info()
# in the Book class
if __name__ == "__main__":
title = input()
author = input()
publisher = input()
publication_date = input()
e_title = input()
e_author = input()
e_publisher = input()
e_publication_date = input()
edition = input()
num_volumes = int(input())
my_book = Book(title, author, publisher, publication_date)
my_book.print_info()
my_encyclopedia = Encyclopedia(e_title, e_author, e_publisher, e_publication_date, edition, num_volumes)
my_encyclopedia.print_info()
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images